.syntax unified
.text
- .arch armv8-a
- .arch_extension rdma
- .macro vect_inst I T R
- \I\().\T \R\()0, \R\()1, \R\()2
- .endm
+ .macro vect_inst I T R
+ \I\().\T \R\()0, \R\()1, \R\()2
+ .endm
.macro scalar_inst I T R N
- \I\().\T \R\()0, \R\()1, d\()2[\N\()]
- .endm
+ \I\().\T \R\()0, \R\()1, d\()2[\N\()]
+ .endm
.text
- .arm
+ .arm
A1:
- .irp inst, vqrdmlah, vqrdmlsh
- .irp type, s16, s32
+ .irp inst, vqrdmlah, vqrdmlsh
+ .irp type, s16, s32
.irp reg, d, q
- vect_inst \inst \type \reg
- .endr
- .endr
+ vect_inst \inst \type \reg
+ .endr
+ .endr
.endr
- .irp inst, vqrdmlah, vqrdmlsh
+ .irp inst, vqrdmlah, vqrdmlsh
.irp reg, d, q
- .irp idx, 0, 1, 2, 3
- scalar_inst \inst s16 \reg \idx
- .endr
+ .irp idx, 0, 1, 2, 3
+ scalar_inst \inst s16 \reg \idx
+ .endr
.endr
.irp reg, d, q
- .irp idx, 0, 1
- scalar_inst \inst s32 \reg \idx
- .endr
+ .irp idx, 0, 1
+ scalar_inst \inst s32 \reg \idx
+ .endr
.endr
.endr
.text
- .thumb
+ .thumb
T1:
- .irp inst, vqrdmlah, vqrdmlsh
- .irp type, s16, s32
+ .irp inst, vqrdmlah, vqrdmlsh
+ .irp type, s16, s32
.irp reg, d, q
- vect_inst \inst \type \reg
- .endr
- .endr
+ vect_inst \inst \type \reg
+ .endr
+ .endr
.endr
- .irp inst, vqrdmlah, vqrdmlsh
+ .irp inst, vqrdmlah, vqrdmlsh
.irp reg, d, q
- .irp idx, 0, 1, 2, 3
- scalar_inst \inst s16 \reg \idx
- .endr
+ .irp idx, 0, 1, 2, 3
+ scalar_inst \inst s16 \reg \idx
+ .endr
.endr
.irp reg, d, q
- .irp idx, 0, 1
- scalar_inst \inst s32 \reg \idx
- .endr
+ .irp idx, 0, 1
+ scalar_inst \inst s32 \reg \idx
+ .endr
.endr
.endr