diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/aarch64/moveor_imm.c')
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/moveor_imm.c | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/aarch64/moveor_imm.c b/gcc/testsuite/gcc.target/aarch64/moveor_imm.c new file mode 100644 index 00000000000..887b1829df9 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/moveor_imm.c @@ -0,0 +1,68 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +/* +** f1: +** ... +** mov x0, -6148914691236517206 +** eor x0, x0, -9223372036854775807 +** ... +*/ + +long f1 (void) +{ + return 0x2aaaaaaaaaaaaaab; +} + +/* +** f2: +** ... +** mov x0, -1085102592571150096 +** eor x0, x0, -2305843009213693951 +** ... +*/ + +long f2 (void) +{ + return 0x10f0f0f0f0f0f0f1; +} + +/* +** f3: +** ... +** mov x0, -3689348814741910324 +** eor x0, x0, -4611686018427387903 +** ... +*/ + +long f3 (void) +{ + return 0xccccccccccccccd; +} + +/* +** f4: +** ... +** mov x0, -7378697629483820647 +** eor x0, x0, -9223372036854775807 +** ... +*/ + +long f4 (void) +{ + return 0x1999999999999998; +} + +/* +** f5: +** ... +** mov x0, 3689348814741910323 +** eor x0, x0, 864691128656461824 +** ... +*/ + +long f5 (void) +{ + return 0x3f3333333f333333; +} |