diff options
Diffstat (limited to 'validation')
| -rw-r--r-- | validation/cast-constant-to-float.c | 6 | ||||
| -rw-r--r-- | validation/cast-constants.c | 20 | ||||
| -rw-r--r-- | validation/fp-ops.c | 2 | ||||
| -rw-r--r-- | validation/optim/bool-context-fp.c | 47 |
4 files changed, 61 insertions, 14 deletions
diff --git a/validation/cast-constant-to-float.c b/validation/cast-constant-to-float.c index 86b7ac0f..ef7892f1 100644 --- a/validation/cast-constant-to-float.c +++ b/validation/cast-constant-to-float.c @@ -13,21 +13,21 @@ double f3(void) { return -1.0; } f1: .L0: <entry-point> - set.64 %r1 <- -1.000000 + setfval.64 %r1 <- -1.000000 ret.64 %r1 f2: .L2: <entry-point> - set.64 %r3 <- -1.000000 + setfval.64 %r3 <- -1.000000 ret.64 %r3 f3: .L4: <entry-point> - set.64 %r5 <- -1.000000 + setfval.64 %r5 <- -1.000000 ret.64 %r5 diff --git a/validation/cast-constants.c b/validation/cast-constants.c index f47d6fd3..9e200672 100644 --- a/validation/cast-constants.c +++ b/validation/cast-constants.c @@ -286,70 +286,70 @@ vptr_2_iptr: int_2_float: .L76: <entry-point> - set.32 %r39 <- 123.000000 + setfval.32 %r39 <- 123.000000 ret.32 %r39 uint_2_float: .L78: <entry-point> - set.32 %r41 <- 123.000000 + setfval.32 %r41 <- 123.000000 ret.32 %r41 long_2_float: .L80: <entry-point> - set.32 %r43 <- 123.000000 + setfval.32 %r43 <- 123.000000 ret.32 %r43 ulong_2_float: .L82: <entry-point> - set.32 %r45 <- 123.000000 + setfval.32 %r45 <- 123.000000 ret.32 %r45 double_2_float: .L84: <entry-point> - set.32 %r47 <- 1.123000 + setfval.32 %r47 <- 1.123000 ret.32 %r47 int_2_double: .L86: <entry-point> - set.64 %r49 <- 123.000000 + setfval.64 %r49 <- 123.000000 ret.64 %r49 uint_2_double: .L88: <entry-point> - set.64 %r51 <- 123.000000 + setfval.64 %r51 <- 123.000000 ret.64 %r51 long_2_double: .L90: <entry-point> - set.64 %r53 <- 123.000000 + setfval.64 %r53 <- 123.000000 ret.64 %r53 ulong_2_double: .L92: <entry-point> - set.64 %r55 <- 123.000000 + setfval.64 %r55 <- 123.000000 ret.64 %r55 float_2_double: .L94: <entry-point> - set.64 %r57 <- 1.123000 + setfval.64 %r57 <- 1.123000 ret.64 %r57 diff --git a/validation/fp-ops.c b/validation/fp-ops.c index 71cb9848..81f73384 100644 --- a/validation/fp-ops.c +++ b/validation/fp-ops.c @@ -48,7 +48,7 @@ fneg: ftst: .L10: <entry-point> - set.64 %r21 <- 0.000000 + setfval.64 %r21 <- 0.000000 fcmpoeq.1 %r23 <- %arg1, %r21 ret.1 %r23 diff --git a/validation/optim/bool-context-fp.c b/validation/optim/bool-context-fp.c new file mode 100644 index 00000000..ad075c56 --- /dev/null +++ b/validation/optim/bool-context-fp.c @@ -0,0 +1,47 @@ +#define bool _Bool + +bool bfimp(float a) { return a; } +bool bfexp(float a) { return (bool)a; } + +bool bfnot(float a) { return !a; } +int ifnot(float a) { return !a; } + +/* + * check-name: bool context fp + * check-command: test-linearize -Wno-decl $file + * + * check-output-start +bfimp: +.L0: + <entry-point> + setfval.32 %r2 <- 0.000000 + fcmpune.1 %r3 <- %arg1, %r2 + ret.1 %r3 + + +bfexp: +.L2: + <entry-point> + setfval.32 %r6 <- 0.000000 + fcmpune.1 %r7 <- %arg1, %r6 + ret.1 %r7 + + +bfnot: +.L4: + <entry-point> + setfval.32 %r10 <- 0.000000 + fcmpoeq.1 %r12 <- %arg1, %r10 + ret.1 %r12 + + +ifnot: +.L6: + <entry-point> + setfval.32 %r15 <- 0.000000 + fcmpoeq.32 %r16 <- %arg1, %r15 + ret.32 %r16 + + + * check-output-end + */ |
