summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/gas/testsuite/gas/aarch64/neon-ins.s
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.25/gas/testsuite/gas/aarch64/neon-ins.s')
-rw-r--r--binutils-2.25/gas/testsuite/gas/aarch64/neon-ins.s48
1 files changed, 48 insertions, 0 deletions
diff --git a/binutils-2.25/gas/testsuite/gas/aarch64/neon-ins.s b/binutils-2.25/gas/testsuite/gas/aarch64/neon-ins.s
new file mode 100644
index 00000000..0eac7086
--- /dev/null
+++ b/binutils-2.25/gas/testsuite/gas/aarch64/neon-ins.s
@@ -0,0 +1,48 @@
+
+
+ .macro iterate_regs_types macro_name reg
+ .irp index, 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
+ .irp regs, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
+ \macro_name \regs b \index \reg
+ .endr
+ .endr
+
+ .irp index, 0,1,2,3,4,5,6,7
+ .irp regs, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
+ \macro_name \regs h \index \reg
+ .endr
+ .endr
+
+ .irp index, 0,1,2,3
+ .irp regs, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
+ \macro_name \regs s \index \reg
+ .endr
+ .endr
+ .endm
+
+ .macro ins_mov_main reg_num type index xw_reg
+ ins v\reg_num\().\type[\index], \xw_reg\reg_num
+ mov v\reg_num\().\type[\index], \xw_reg\reg_num
+ .endm
+
+ .macro ins_mov_element reg_num type index null
+ ins v\reg_num\().\type[\index], v\reg_num\().\type[\index]
+ mov v\reg_num\().\type[\index], v\reg_num\().\type[\index]
+ .endm
+
+ .text
+ iterate_regs_types macro_name=ins_mov_main reg=w
+ iterate_regs_types macro_name=ins_mov_element
+
+ .irp reg, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30
+ ins v\reg\().d[0], x\reg
+ mov v\reg\().d[0], x\reg
+ ins v\reg\().d[1], x\reg
+ mov v\reg\().d[1], x\reg
+
+ ins v\reg\().d[0], v\reg\().d[1]
+ mov v\reg\().d[0], v\reg\().d[1]
+ ins v\reg\().d[1], v\reg\().d[0]
+ mov v\reg\().d[1], v\reg\().d[0]
+ .endr
+