diff options
Diffstat (limited to 'binutils-2.25/gas/testsuite/gas/aarch64/int-insns.s')
-rw-r--r-- | binutils-2.25/gas/testsuite/gas/aarch64/int-insns.s | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/binutils-2.25/gas/testsuite/gas/aarch64/int-insns.s b/binutils-2.25/gas/testsuite/gas/aarch64/int-insns.s new file mode 100644 index 00000000..2b8af609 --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/aarch64/int-insns.s @@ -0,0 +1,151 @@ +// Test file for AArch64 GAS -- basic integer instructions + +func: + lsl x1, x2, x3 + lsl x1, x2, #0 + lsl x1, x2, #1 + + extr x1, x2, x3, #1 + extr x1, x2, x3, #63 + + extr x1, x2, x3, #0 + extr w1, w2, w3, #31 + + CSET x1, eq + CSETM x1, eq + + subs w1,w1,#0 + cmp w1,#0 + + neg w1,w2 + sub w1,w2,#0 + + cmp x1,#0 + subs x1,x1,#0 + + orr w1,wzr,#15 + mov x1,x2 + + ldr w1, sp + ldr w1, =sp + ldr x1, =sp +sp: .word 0x12345678 + + ret x30 + ret + ret x2 + + add sp,x1,x2 + + add x5,x5,#0x7, lsl #12 + + add x1,x2,x3, lsr #1 + add x5,x5,#0x7 + + subs w1,w1,#1 + + movz x2,#0x64 + movz x2,#0x64, lsl #0 + movz x2,#:abs_g0:0x64 + movz x2,#0x64, lsl #16 + movz x2,#:abs_g1:(0x64 << 16) + movz x2,#0x64, lsl #32 + movz x2,#:abs_g2:(0x64 << 32) + movz x2,#0x64, lsl #48 + movz x2,#:abs_g3:(0x64 << 48) + movz w1,#0x64 + movz w1,#0x64, lsl #0 + movz w1,#0x64, lsl #16 + + and x1,x2,x3 + and w30,w10,w15 + and w1,w2,#1 + + and x1,x2,x3, lsr #1 + + orr w1,w1,#1 + orr w1,w1,#1 + orr x1,x1,#1 + and x1,x2,#0xf + and w1,w2,#0xf + and x1,x2,#0x80000000 + and w1,w2,#0x80000000 + and x1,x2,#0x800000000 + + // 00010010000101000000010100000011 + // 1 2 1 4 0 5 0 3 + and x5,x4,#0xf + + bic w1,w2,w3 + bic x1,x2,x3 + +1: b.ne 1b + b 1b + b 2f +2: b.eq 1b + + +3: bne 3b + b 3b + b 4f +4: beq 3b + + br x2 + + bcs 4b + bcc 4b + + .if 0 + + lsl x1, #0, #1 + + ext x1, x2, x3, #64 + ext w1, w2, w3, #63 + ext w1, w2, w3, #32 + + mov w1,#10 + neg w1,#1 + + ldm {x1},[sp] + ldm {x1-x2},[sp] + ldm {x1,x2,x3,x4},sp + ldm {x1-x3},[x1,w2] + + subs #0,#1 + + add x5,x5,#0x7, lsl #1 + add x5,x5,#0x7, lsr #1 + + movz x0,#0x64, lsl #1 + movz x0,#0x64, lsl #2 + movz x0,#0x64, lsl #3 + movz x0,#0x64, lsl #4 + movz x0,#0x64, lsl #64 + movz w1,#0x64, lsl #32 + movz w1,#0x64, lsl #48 + + orr #0,w1 + and sp,x1,x2 + and x1,sp,x2 + and x1,x2,sp + + and w1,#0,x2 + and x1,#0,w2 + + and x1,x2,w3 + and x1,w2,x3 + and x1,w2,w3 + and w1,x2,x3 + and w1,x2,w3 + and w1,w2,x3 + and w1,w2,w3 + + and x1,x2,#0 + and w1,w2,#0x800000000 + bic x1,x2,#1 + + br w2 + br sp + .endif + + .equ sh,2 |