blob: 19e93b035f01f40019d6360480b37af229cb8040 [file] [log] [blame]
# Generates tests to see if setting bit 22 (sz) and 21 (L) together correctly
# marks the instruction as undefined. This pattern can't be created by the
# assembler so instead manually encode it.
.macro gen_insns opc
.inst \opc
.inst (\opc | 0x600000)
.endm
# fmul s0, s0, v16.s[0]
gen_insns 0x5f909000
# fmla s0, s0, v16.s[0]
gen_insns 0x5f901000
# fmls s0, s0, v16.s[0]
gen_insns 0x5f905000
# fmulx s0, s0, v16.s[0]
gen_insns 0x7f909000
# fmul d0, d0, v16.d[0]
gen_insns 0x5fd09000
# fmla d0, d0, v16.d[0]
gen_insns 0x5fd01000
# fmls d0, d0, v16.d[0]
gen_insns 0x5fd05000
# fmulx d0, d0, v16.d[0]
gen_insns 0x7fd09000
# fmul v0.4s, v0.4s, v16.s[0]
gen_insns 0x4f909000
# fmla v0.4s, v0.4s, v16.s[0]
gen_insns 0x4f901000
# fmls v0.4s, v0.4s, v16.s[0]
gen_insns 0x4f905000
# fmulx v0.4s, v0.4s, v16.s[0]
gen_insns 0x6f909000
# fmul v0.2d, v0.2d, v16.d[0]
gen_insns 0x4fd09000
# fmla v0.2d, v0.2d, v16.d[0]
gen_insns 0x4fd01000
# fmls v0.2d, v0.2d, v16.d[0]
gen_insns 0x4fd05000
# fmulx v0.2d, v0.2d, v16.d[0]
gen_insns 0x6fd09000