Skip to content

Commit

Permalink
i#4848: AArch64 v8.0 GPR Decode: Add mul, rev32, rev64 to codec (#4936)
Browse files Browse the repository at this point in the history
Add missing variations of mul, rev32, rev64 with
decoding tests

Issue: #4848, #2626
  • Loading branch information
MDevereau authored Jun 17, 2021
1 parent f62441b commit f5902af
Show file tree
Hide file tree
Showing 2 changed files with 223 additions and 0 deletions.
4 changes: 4 additions & 0 deletions core/ir/aarch64/codec.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1038,6 +1038,7 @@ x101101011000000000101xxxxxxxxxx cls wx0 : wx5
0x001110xx1xxxxx100011xxxxxxxxxx cmtst dq0 : dq5 dq16 bhsd_sz
0x001110xx1xxxxx100101xxxxxxxxxx mla dq0 : dq0 dq5 dq16 bhs_sz
0x001110xx1xxxxx100111xxxxxxxxxx mul dq0 : dq5 dq16 bhs_sz
0x001111xxxxxxxx1000x0xxxxxxxxxx mul dq0 : dq5 dq16_h_sz vindex_H hs_sz
0x001110xx1xxxxx101001xxxxxxxxxx smaxp dq0 : dq5 dq16 bhs_sz
0x001110xx1xxxxx101011xxxxxxxxxx sminp dq0 : dq5 dq16 bhs_sz
0x001110xx1xxxxx101101xxxxxxxxxx sqdmulh dq0 : dq5 dq16 hs_sz
Expand Down Expand Up @@ -1316,6 +1317,9 @@ x001111001000010xxxxxxxxxxxxxxxx scvtf d0 : wx5 scale
00101110xx1xxxxx110000xxxxxxxxxx umull q0 : d5 d16 bhs_sz
01101110xx1xxxxx110000xxxxxxxxxx umull2 q0 : q5 q16 bhs_sz

0x101110xx100000000010xxxxxxxxxx rev32 dq0 : dq5 bhs_sz
0x001110xx100000000010xxxxxxxxxx rev64 dq0 : dq5 bhs_sz

# DUP (element) Scalar
01011110000xxxxx000001xxxxxxxxxx dup dq0 : dq5 imm5

Expand Down
219 changes: 219 additions & 0 deletions suite/tests/api/dis-a64.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2284,6 +2284,135 @@ d51fffff : msr s3_7_c15_c15_7, xzr : msr %xzr $0x7fff
0eb89d25 : mul v5.2s, v9.2s, v24.2s : mul %d9 %d24 $0x02 -> %d5
4eb89d25 : mul v5.4s, v9.4s, v24.4s : mul %q9 %q24 $0x02 -> %q5

# MUL <Wd>, <Wn>, <Wm>
1b027c20 : mul w0, w1, w2 : madd %w1 %w2 %wzr -> %w0
1b077cc5 : mul w5, w6, w7 : madd %w6 %w7 %wzr -> %w5
1b0c7d6a : mul w10, w11, w12 : madd %w11 %w12 %wzr -> %w10
1b117e0f : mul w15, w16, w17 : madd %w16 %w17 %wzr -> %w15
1b167eb4 : mul w20, w21, w22 : madd %w21 %w22 %wzr -> %w20
1b1b7f59 : mul w25, w26, w27 : madd %w26 %w27 %wzr -> %w25
1b1e7fbc : mul w28, w29, w30 : madd %w29 %w30 %wzr -> %w28

# MUL <Xd>, <Xn>, <Xm>
9b027c20 : mul x0, x1, x2 : madd %x1 %x2 %xzr -> %x0
9b077cc5 : mul x5, x6, x7 : madd %x6 %x7 %xzr -> %x5
9b0c7d6a : mul x10, x11, x12 : madd %x11 %x12 %xzr -> %x10
9b117e0f : mul x15, x16, x17 : madd %x16 %x17 %xzr -> %x15
9b167eb4 : mul x20, x21, x22 : madd %x21 %x22 %xzr -> %x20
9b1b7f59 : mul x25, x26, x27 : madd %x26 %x27 %xzr -> %x25
9b1e7fbc : mul x28, x29, x30 : madd %x29 %x30 %xzr -> %x28

# MUL <Vd>.4h, <Vn>.4h, <Vm>.h[<index>]
0f428020 : mul v0.4h, v1.4h, v2.h[0] : mul %d1 %d2 $0x00 $0x01 -> %d0
0f528020 : mul v0.4h, v1.4h, v2.h[1] : mul %d1 %d2 $0x01 $0x01 -> %d0
0f628020 : mul v0.4h, v1.4h, v2.h[2] : mul %d1 %d2 $0x02 $0x01 -> %d0
0f728020 : mul v0.4h, v1.4h, v2.h[3] : mul %d1 %d2 $0x03 $0x01 -> %d0
0f428820 : mul v0.4h, v1.4h, v2.h[4] : mul %d1 %d2 $0x04 $0x01 -> %d0
0f528820 : mul v0.4h, v1.4h, v2.h[5] : mul %d1 %d2 $0x05 $0x01 -> %d0
0f628820 : mul v0.4h, v1.4h, v2.h[6] : mul %d1 %d2 $0x06 $0x01 -> %d0
0f728820 : mul v0.4h, v1.4h, v2.h[7] : mul %d1 %d2 $0x07 $0x01 -> %d0
0f4780c5 : mul v5.4h, v6.4h, v7.h[0] : mul %d6 %d7 $0x00 $0x01 -> %d5
0f5780c5 : mul v5.4h, v6.4h, v7.h[1] : mul %d6 %d7 $0x01 $0x01 -> %d5
0f6780c5 : mul v5.4h, v6.4h, v7.h[2] : mul %d6 %d7 $0x02 $0x01 -> %d5
0f7780c5 : mul v5.4h, v6.4h, v7.h[3] : mul %d6 %d7 $0x03 $0x01 -> %d5
0f4788c5 : mul v5.4h, v6.4h, v7.h[4] : mul %d6 %d7 $0x04 $0x01 -> %d5
0f5788c5 : mul v5.4h, v6.4h, v7.h[5] : mul %d6 %d7 $0x05 $0x01 -> %d5
0f6788c5 : mul v5.4h, v6.4h, v7.h[6] : mul %d6 %d7 $0x06 $0x01 -> %d5
0f7788c5 : mul v5.4h, v6.4h, v7.h[7] : mul %d6 %d7 $0x07 $0x01 -> %d5
0f4c816a : mul v10.4h, v11.4h, v12.h[0] : mul %d11 %d12 $0x00 $0x01 -> %d10
0f5c816a : mul v10.4h, v11.4h, v12.h[1] : mul %d11 %d12 $0x01 $0x01 -> %d10
0f6c816a : mul v10.4h, v11.4h, v12.h[2] : mul %d11 %d12 $0x02 $0x01 -> %d10
0f7c816a : mul v10.4h, v11.4h, v12.h[3] : mul %d11 %d12 $0x03 $0x01 -> %d10
0f4c896a : mul v10.4h, v11.4h, v12.h[4] : mul %d11 %d12 $0x04 $0x01 -> %d10
0f5c896a : mul v10.4h, v11.4h, v12.h[5] : mul %d11 %d12 $0x05 $0x01 -> %d10
0f6c896a : mul v10.4h, v11.4h, v12.h[6] : mul %d11 %d12 $0x06 $0x01 -> %d10
0f7c896a : mul v10.4h, v11.4h, v12.h[7] : mul %d11 %d12 $0x07 $0x01 -> %d10
0f4f81cd : mul v13.4h, v14.4h, v15.h[0] : mul %d14 %d15 $0x00 $0x01 -> %d13
0f5f81cd : mul v13.4h, v14.4h, v15.h[1] : mul %d14 %d15 $0x01 $0x01 -> %d13
0f6f81cd : mul v13.4h, v14.4h, v15.h[2] : mul %d14 %d15 $0x02 $0x01 -> %d13
0f7f81cd : mul v13.4h, v14.4h, v15.h[3] : mul %d14 %d15 $0x03 $0x01 -> %d13
0f4f89cd : mul v13.4h, v14.4h, v15.h[4] : mul %d14 %d15 $0x04 $0x01 -> %d13
0f5f89cd : mul v13.4h, v14.4h, v15.h[5] : mul %d14 %d15 $0x05 $0x01 -> %d13
0f6f89cd : mul v13.4h, v14.4h, v15.h[6] : mul %d14 %d15 $0x06 $0x01 -> %d13
0f7f89cd : mul v13.4h, v14.4h, v15.h[7] : mul %d14 %d15 $0x07 $0x01 -> %d13

# MUL <Vd>.8h, <Vn>.8h, <Vm>.h[<index>]
4f428020 : mul v0.8h, v1.8h, v2.h[0] : mul %q1 %q2 $0x00 $0x01 -> %q0
4f528020 : mul v0.8h, v1.8h, v2.h[1] : mul %q1 %q2 $0x01 $0x01 -> %q0
4f628020 : mul v0.8h, v1.8h, v2.h[2] : mul %q1 %q2 $0x02 $0x01 -> %q0
4f728020 : mul v0.8h, v1.8h, v2.h[3] : mul %q1 %q2 $0x03 $0x01 -> %q0
4f428820 : mul v0.8h, v1.8h, v2.h[4] : mul %q1 %q2 $0x04 $0x01 -> %q0
4f528820 : mul v0.8h, v1.8h, v2.h[5] : mul %q1 %q2 $0x05 $0x01 -> %q0
4f628820 : mul v0.8h, v1.8h, v2.h[6] : mul %q1 %q2 $0x06 $0x01 -> %q0
4f728820 : mul v0.8h, v1.8h, v2.h[7] : mul %q1 %q2 $0x07 $0x01 -> %q0
4f4780c5 : mul v5.8h, v6.8h, v7.h[0] : mul %q6 %q7 $0x00 $0x01 -> %q5
4f5780c5 : mul v5.8h, v6.8h, v7.h[1] : mul %q6 %q7 $0x01 $0x01 -> %q5
4f6780c5 : mul v5.8h, v6.8h, v7.h[2] : mul %q6 %q7 $0x02 $0x01 -> %q5
4f7780c5 : mul v5.8h, v6.8h, v7.h[3] : mul %q6 %q7 $0x03 $0x01 -> %q5
4f4788c5 : mul v5.8h, v6.8h, v7.h[4] : mul %q6 %q7 $0x04 $0x01 -> %q5
4f5788c5 : mul v5.8h, v6.8h, v7.h[5] : mul %q6 %q7 $0x05 $0x01 -> %q5
4f6788c5 : mul v5.8h, v6.8h, v7.h[6] : mul %q6 %q7 $0x06 $0x01 -> %q5
4f7788c5 : mul v5.8h, v6.8h, v7.h[7] : mul %q6 %q7 $0x07 $0x01 -> %q5
4f4c816a : mul v10.8h, v11.8h, v12.h[0] : mul %q11 %q12 $0x00 $0x01 -> %q10
4f5c816a : mul v10.8h, v11.8h, v12.h[1] : mul %q11 %q12 $0x01 $0x01 -> %q10
4f6c816a : mul v10.8h, v11.8h, v12.h[2] : mul %q11 %q12 $0x02 $0x01 -> %q10
4f7c816a : mul v10.8h, v11.8h, v12.h[3] : mul %q11 %q12 $0x03 $0x01 -> %q10
4f4c896a : mul v10.8h, v11.8h, v12.h[4] : mul %q11 %q12 $0x04 $0x01 -> %q10
4f5c896a : mul v10.8h, v11.8h, v12.h[5] : mul %q11 %q12 $0x05 $0x01 -> %q10
4f6c896a : mul v10.8h, v11.8h, v12.h[6] : mul %q11 %q12 $0x06 $0x01 -> %q10
4f7c896a : mul v10.8h, v11.8h, v12.h[7] : mul %q11 %q12 $0x07 $0x01 -> %q10
4f4f81cd : mul v13.8h, v14.8h, v15.h[0] : mul %q14 %q15 $0x00 $0x01 -> %q13
4f5f81cd : mul v13.8h, v14.8h, v15.h[1] : mul %q14 %q15 $0x01 $0x01 -> %q13
4f6f81cd : mul v13.8h, v14.8h, v15.h[2] : mul %q14 %q15 $0x02 $0x01 -> %q13
4f7f81cd : mul v13.8h, v14.8h, v15.h[3] : mul %q14 %q15 $0x03 $0x01 -> %q13
4f4f89cd : mul v13.8h, v14.8h, v15.h[4] : mul %q14 %q15 $0x04 $0x01 -> %q13
4f5f89cd : mul v13.8h, v14.8h, v15.h[5] : mul %q14 %q15 $0x05 $0x01 -> %q13
4f6f89cd : mul v13.8h, v14.8h, v15.h[6] : mul %q14 %q15 $0x06 $0x01 -> %q13
4f7f89cd : mul v13.8h, v14.8h, v15.h[7] : mul %q14 %q15 $0x07 $0x01 -> %q13

# MUL <Vd>.2s, <Vn>.2s, <Vm>.s[<index>]
0f828020 : mul v0.2s, v1.2s, v2.s[0] : mul %d1 %d2 $0x00 $0x02 -> %d0
0fa28020 : mul v0.2s, v1.2s, v2.s[1] : mul %d1 %d2 $0x02 $0x02 -> %d0
0f828820 : mul v0.2s, v1.2s, v2.s[2] : mul %d1 %d2 $0x04 $0x02 -> %d0
0fa28820 : mul v0.2s, v1.2s, v2.s[3] : mul %d1 %d2 $0x06 $0x02 -> %d0
0f8780c5 : mul v5.2s, v6.2s, v7.s[0] : mul %d6 %d7 $0x00 $0x02 -> %d5
0fa780c5 : mul v5.2s, v6.2s, v7.s[1] : mul %d6 %d7 $0x02 $0x02 -> %d5
0f8788c5 : mul v5.2s, v6.2s, v7.s[2] : mul %d6 %d7 $0x04 $0x02 -> %d5
0fa788c5 : mul v5.2s, v6.2s, v7.s[3] : mul %d6 %d7 $0x06 $0x02 -> %d5
0f8c816a : mul v10.2s, v11.2s, v12.s[0] : mul %d11 %d12 $0x00 $0x02 -> %d10
0fac816a : mul v10.2s, v11.2s, v12.s[1] : mul %d11 %d12 $0x02 $0x02 -> %d10
0f8c896a : mul v10.2s, v11.2s, v12.s[2] : mul %d11 %d12 $0x04 $0x02 -> %d10
0fac896a : mul v10.2s, v11.2s, v12.s[3] : mul %d11 %d12 $0x06 $0x02 -> %d10
0f8f81cd : mul v13.2s, v14.2s, v15.s[0] : mul %d14 %d15 $0x00 $0x02 -> %d13
0faf81cd : mul v13.2s, v14.2s, v15.s[1] : mul %d14 %d15 $0x02 $0x02 -> %d13
0f8f89cd : mul v13.2s, v14.2s, v15.s[2] : mul %d14 %d15 $0x04 $0x02 -> %d13
0faf89cd : mul v13.2s, v14.2s, v15.s[3] : mul %d14 %d15 $0x06 $0x02 -> %d13

# MUL <Vd>.4s, <Vn>.4s, <Vm>.s[<index>]
4f828020 : mul v0.4s, v1.4s, v2.s[0] : mul %q1 %q2 $0x00 $0x02 -> %q0
4fa28020 : mul v0.4s, v1.4s, v2.s[1] : mul %q1 %q2 $0x02 $0x02 -> %q0
4f828820 : mul v0.4s, v1.4s, v2.s[2] : mul %q1 %q2 $0x04 $0x02 -> %q0
4fa28820 : mul v0.4s, v1.4s, v2.s[3] : mul %q1 %q2 $0x06 $0x02 -> %q0
4f8780c5 : mul v5.4s, v6.4s, v7.s[0] : mul %q6 %q7 $0x00 $0x02 -> %q5
4fa780c5 : mul v5.4s, v6.4s, v7.s[1] : mul %q6 %q7 $0x02 $0x02 -> %q5
4f8788c5 : mul v5.4s, v6.4s, v7.s[2] : mul %q6 %q7 $0x04 $0x02 -> %q5
4fa788c5 : mul v5.4s, v6.4s, v7.s[3] : mul %q6 %q7 $0x06 $0x02 -> %q5
4f8c816a : mul v10.4s, v11.4s, v12.s[0] : mul %q11 %q12 $0x00 $0x02 -> %q10
4fac816a : mul v10.4s, v11.4s, v12.s[1] : mul %q11 %q12 $0x02 $0x02 -> %q10
4f8c896a : mul v10.4s, v11.4s, v12.s[2] : mul %q11 %q12 $0x04 $0x02 -> %q10
4fac896a : mul v10.4s, v11.4s, v12.s[3] : mul %q11 %q12 $0x06 $0x02 -> %q10
4f8f81cd : mul v13.4s, v14.4s, v15.s[0] : mul %q14 %q15 $0x00 $0x02 -> %q13
4faf81cd : mul v13.4s, v14.4s, v15.s[1] : mul %q14 %q15 $0x02 $0x02 -> %q13
4f8f89cd : mul v13.4s, v14.4s, v15.s[2] : mul %q14 %q15 $0x04 $0x02 -> %q13
4faf89cd : mul v13.4s, v14.4s, v15.s[3] : mul %q14 %q15 $0x06 $0x02 -> %q13

0e389d25 : mul v5.8b, v9.8b, v24.8b : mul %d9 %d24 $0x00 -> %d5
4e389d25 : mul v5.16b, v9.16b, v24.16b : mul %q9 %q24 $0x00 -> %q5
0e789d25 : mul v5.4h, v9.4h, v24.4h : mul %d9 %d24 $0x01 -> %d5
4e789d25 : mul v5.8h, v9.8h, v24.8h : mul %q9 %q24 $0x01 -> %q5
0eb89d25 : mul v5.2s, v9.2s, v24.2s : mul %d9 %d24 $0x02 -> %d5
4eb89d25 : mul v5.4s, v9.4s, v24.4s : mul %q9 %q24 $0x02 -> %q5

2abf13ff : mvn wzr, wzr, asr #4 : orn %wzr %wzr asr $0x04 -> %wzr
aaff13ff : mvn xzr, xzr, ror #4 : orn %xzr %xzr ror $0x04 -> %xzr
aaffffff : mvn xzr, xzr, ror #63 : orn %xzr %xzr ror $0x3f -> %xzr
Expand Down Expand Up @@ -2376,6 +2505,96 @@ dac00441 : rev16 x1, x2 : rev16 %x2 -> %x1

dac00841 : rev32 x1, x2 : rev32 %x2 -> %x1

# REV32 <Vd>.8b, <Vn>.8b
2e200820 : rev32 v0.8b, v1.8b : rev32 %d1 $0x00 -> %d0
2e2008c5 : rev32 v5.8b, v6.8b : rev32 %d6 $0x00 -> %d5
2e20096a : rev32 v10.8b, v11.8b : rev32 %d11 $0x00 -> %d10
2e200a0f : rev32 v15.8b, v16.8b : rev32 %d16 $0x00 -> %d15
2e200ab4 : rev32 v20.8b, v21.8b : rev32 %d21 $0x00 -> %d20
2e200b59 : rev32 v25.8b, v26.8b : rev32 %d26 $0x00 -> %d25
2e200bdd : rev32 v29.8b, v30.8b : rev32 %d30 $0x00 -> %d29

# REV32 <Vd>.16b, <Vn>.16b
6e200820 : rev32 v0.16b, v1.16b : rev32 %q1 $0x00 -> %q0
6e2008c5 : rev32 v5.16b, v6.16b : rev32 %q6 $0x00 -> %q5
6e20096a : rev32 v10.16b, v11.16b : rev32 %q11 $0x00 -> %q10
6e200a0f : rev32 v15.16b, v16.16b : rev32 %q16 $0x00 -> %q15
6e200ab4 : rev32 v20.16b, v21.16b : rev32 %q21 $0x00 -> %q20
6e200b59 : rev32 v25.16b, v26.16b : rev32 %q26 $0x00 -> %q25
6e200bdd : rev32 v29.16b, v30.16b : rev32 %q30 $0x00 -> %q29

# REV32 <Vd>.4h, <Vn>.4h
2e600820 : rev32 v0.4h, v1.4h : rev32 %d1 $0x01 -> %d0
2e6008c5 : rev32 v5.4h, v6.4h : rev32 %d6 $0x01 -> %d5
2e60096a : rev32 v10.4h, v11.4h : rev32 %d11 $0x01 -> %d10
2e600a0f : rev32 v15.4h, v16.4h : rev32 %d16 $0x01 -> %d15
2e600ab4 : rev32 v20.4h, v21.4h : rev32 %d21 $0x01 -> %d20
2e600b59 : rev32 v25.4h, v26.4h : rev32 %d26 $0x01 -> %d25
2e600bdd : rev32 v29.4h, v30.4h : rev32 %d30 $0x01 -> %d29

# REV32 <Vd>.8h, <Vn>.8h
6e600820 : rev32 v0.8h, v1.8h : rev32 %q1 $0x01 -> %q0
6e6008c5 : rev32 v5.8h, v6.8h : rev32 %q6 $0x01 -> %q5
6e60096a : rev32 v10.8h, v11.8h : rev32 %q11 $0x01 -> %q10
6e600a0f : rev32 v15.8h, v16.8h : rev32 %q16 $0x01 -> %q15
6e600ab4 : rev32 v20.8h, v21.8h : rev32 %q21 $0x01 -> %q20
6e600b59 : rev32 v25.8h, v26.8h : rev32 %q26 $0x01 -> %q25
6e600bdd : rev32 v29.8h, v30.8h : rev32 %q30 $0x01 -> %q29

# REV64 <Vd>.8b, <Vn>.8b
0e200820 : rev64 v0.8b, v1.8b : rev64 %d1 $0x00 -> %d0
0e2008c5 : rev64 v5.8b, v6.8b : rev64 %d6 $0x00 -> %d5
0e20096a : rev64 v10.8b, v11.8b : rev64 %d11 $0x00 -> %d10
0e200a0f : rev64 v15.8b, v16.8b : rev64 %d16 $0x00 -> %d15
0e200ab4 : rev64 v20.8b, v21.8b : rev64 %d21 $0x00 -> %d20
0e200b59 : rev64 v25.8b, v26.8b : rev64 %d26 $0x00 -> %d25
0e200bdd : rev64 v29.8b, v30.8b : rev64 %d30 $0x00 -> %d29

# REV64 <Vd>.16b, <Vn>.16b
4e200820 : rev64 v0.16b, v1.16b : rev64 %q1 $0x00 -> %q0
4e2008c5 : rev64 v5.16b, v6.16b : rev64 %q6 $0x00 -> %q5
4e20096a : rev64 v10.16b, v11.16b : rev64 %q11 $0x00 -> %q10
4e200a0f : rev64 v15.16b, v16.16b : rev64 %q16 $0x00 -> %q15
4e200ab4 : rev64 v20.16b, v21.16b : rev64 %q21 $0x00 -> %q20
4e200b59 : rev64 v25.16b, v26.16b : rev64 %q26 $0x00 -> %q25
4e200bdd : rev64 v29.16b, v30.16b : rev64 %q30 $0x00 -> %q29

# REV64 <Vd>.4h, <Vn>.4h
0e600820 : rev64 v0.4h, v1.4h : rev64 %d1 $0x01 -> %d0
0e6008c5 : rev64 v5.4h, v6.4h : rev64 %d6 $0x01 -> %d5
0e60096a : rev64 v10.4h, v11.4h : rev64 %d11 $0x01 -> %d10
0e600a0f : rev64 v15.4h, v16.4h : rev64 %d16 $0x01 -> %d15
0e600ab4 : rev64 v20.4h, v21.4h : rev64 %d21 $0x01 -> %d20
0e600b59 : rev64 v25.4h, v26.4h : rev64 %d26 $0x01 -> %d25
0e600bdd : rev64 v29.4h, v30.4h : rev64 %d30 $0x01 -> %d29

# REV64 <Vd>.8h, <Vn>.8h
4e600820 : rev64 v0.8h, v1.8h : rev64 %q1 $0x01 -> %q0
4e6008c5 : rev64 v5.8h, v6.8h : rev64 %q6 $0x01 -> %q5
4e60096a : rev64 v10.8h, v11.8h : rev64 %q11 $0x01 -> %q10
4e600a0f : rev64 v15.8h, v16.8h : rev64 %q16 $0x01 -> %q15
4e600ab4 : rev64 v20.8h, v21.8h : rev64 %q21 $0x01 -> %q20
4e600b59 : rev64 v25.8h, v26.8h : rev64 %q26 $0x01 -> %q25
4e600bdd : rev64 v29.8h, v30.8h : rev64 %q30 $0x01 -> %q29

# REV64 <Vd>.2s, <Vn>.2s
0ea00820 : rev64 v0.2s, v1.2s : rev64 %d1 $0x02 -> %d0
0ea008c5 : rev64 v5.2s, v6.2s : rev64 %d6 $0x02 -> %d5
0ea0096a : rev64 v10.2s, v11.2s : rev64 %d11 $0x02 -> %d10
0ea00a0f : rev64 v15.2s, v16.2s : rev64 %d16 $0x02 -> %d15
0ea00ab4 : rev64 v20.2s, v21.2s : rev64 %d21 $0x02 -> %d20
0ea00b59 : rev64 v25.2s, v26.2s : rev64 %d26 $0x02 -> %d25
0ea00bdd : rev64 v29.2s, v30.2s : rev64 %d30 $0x02 -> %d29

# REV64 <Vd>.4s, <Vn>.4s
4ea00820 : rev64 v0.4s, v1.4s : rev64 %q1 $0x02 -> %q0
4ea008c5 : rev64 v5.4s, v6.4s : rev64 %q6 $0x02 -> %q5
4ea0096a : rev64 v10.4s, v11.4s : rev64 %q11 $0x02 -> %q10
4ea00a0f : rev64 v15.4s, v16.4s : rev64 %q16 $0x02 -> %q15
4ea00ab4 : rev64 v20.4s, v21.4s : rev64 %q21 $0x02 -> %q20
4ea00b59 : rev64 v25.4s, v26.4s : rev64 %q26 $0x02 -> %q25
4ea00bdd : rev64 v29.4s, v30.4s : rev64 %q30 $0x02 -> %q29

139f7fff : ror wzr, wzr, #31 : extr %wzr %wzr $0x1f -> %wzr
1ac32c41 : ror w1, w2, w3 : rorv %w2 %w3 -> %w1
93dfffff : ror xzr, xzr, #63 : extr %xzr %xzr $0x3f -> %xzr
Expand Down

0 comments on commit f5902af

Please sign in to comment.