1 double fadd(double x, double y) { return x + y; } 2 double fsub(double x, double y) { return x - y; } 3 double fmul(double x, double y) { return x * y; } 4 double fdiv(double x, double y) { return x / y; } 5 double fneg(double x) { return -x; } 6 _Bool ftst(double x) { return !x; } 7 8 /* 9 * check-name: floating-point ops 10 * check-command: test-linearize -Wno-decl $file 11 12 * check-output-start 13 fadd: 14 .L0: 15 <entry-point> 16 fadd.64 %r3 <- %arg1, %arg2 17 ret.64 %r3 18 19 20 fsub: 21 .L2: 22 <entry-point> 23 fsub.64 %r7 <- %arg1, %arg2 24 ret.64 %r7 25 26 27 fmul: 28 .L4: 29 <entry-point> 30 fmul.64 %r11 <- %arg1, %arg2 31 ret.64 %r11 32 33 34 fdiv: 35 .L6: 36 <entry-point> 37 fdiv.64 %r15 <- %arg1, %arg2 38 ret.64 %r15 39 40 41 fneg: 42 .L8: 43 <entry-point> 44 fneg.64 %r18 <- %arg1 45 ret.64 %r18 46 47 48 ftst: 49 .L10: 50 <entry-point> 51 setfval.64 %r21 <- 0.000000e+00 52 fcmpoeq.1 %r23 <- %arg1, %r21 53 ret.1 %r23 54 55 56 * check-output-end 57 */ 58