1/* alias-2.s Test file for ARMv8.2 AArch64 instructions aliases or disassembly 2 preference. */ 3 4 /* <bfm> [Xd|xzr], [xzr|<Xr>], <imm>, <width> */ 5 .macro bfm_inst op imm width 6 \op x0, xzr, #\imm, #\width 7 \op x0, x1, #\imm, #\width 8 \op xzr, x1, #\imm, #\width 9 \op xzr, xzr, #\imm, #\width 10 .endm 11 12 /* bfc [Xd|xzr], <imm>, <width> */ 13 .macro bfc_inst imm width 14 bfc x0, #\imm, #\width 15 bfc xzr, #\imm, #\width 16 .endm 17 18 /* <rev> [Xd|xzr], [Xr|xzr] */ 19 .macro rev_inst op 20 \op x0, xzr 21 \op x0, x1 22 \op xzr, x1 23 \op xzr, xzr 24 .endm 25 26.text 27 .irp op, bfm, bfi 28 .irp imm, 1, 16, 31 29 .irp width, 1, 8, 15 30 bfm_inst \op, \imm, \width 31 .endr 32 .endr 33 .endr 34 35 .irp imm, 1, 16, 31 36 .irp width, 1, 8, 15 37 bfc_inst \imm, \width 38 .endr 39 .endr 40 41 .irp op, rev, rev16, rev64 42 rev_inst \op 43 .endr 44