diff options
author | Tim Northover <tnorthover@apple.com> | 2014-05-15 12:11:02 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2014-05-15 12:11:02 +0000 |
commit | 0a088b1fc5b98c303efdfe6103957b90c943b2e5 (patch) | |
tree | efa9cdfb68b8204bc18141ab5cb0ddf8ecc3f193 /test/MC | |
parent | 8b580ccba027481bc4a9da4f374e2f1a60695372 (diff) | |
download | llvm-0a088b1fc5b98c303efdfe6103957b90c943b2e5.tar.gz llvm-0a088b1fc5b98c303efdfe6103957b90c943b2e5.tar.bz2 llvm-0a088b1fc5b98c303efdfe6103957b90c943b2e5.tar.xz |
ARM64: print correct aliases for NEON mov & mvn instructions
In all cases, if a "mov" alias exists, it is the canonical form of the
instruction. Now that TableGen can support aliases containing syntax variants,
we can enable them and improve the quality of the asm output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208874 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC')
-rw-r--r-- | test/MC/AArch64/neon-simd-copy.s | 72 | ||||
-rw-r--r-- | test/MC/AArch64/neon-simd-misc.s | 4 | ||||
-rw-r--r-- | test/MC/ARM64/advsimd.s | 26 | ||||
-rw-r--r-- | test/MC/Disassembler/ARM64/advsimd.txt | 10 |
4 files changed, 56 insertions, 56 deletions
diff --git a/test/MC/AArch64/neon-simd-copy.s b/test/MC/AArch64/neon-simd-copy.s index 220fd91781..dc8b060b35 100644 --- a/test/MC/AArch64/neon-simd-copy.s +++ b/test/MC/AArch64/neon-simd-copy.s @@ -17,15 +17,15 @@ mov v20.s[0], w30 mov v1.d[1], x7 -// CHECK: ins v2.b[2], w1 // encoding: [0x22,0x1c,0x05,0x4e] -// CHECK: ins v7.h[7], w14 // encoding: [0xc7,0x1d,0x1e,0x4e] -// CHECK: ins v20.s[0], w30 // encoding: [0xd4,0x1f,0x04,0x4e] -// CHECK: ins v1.d[1], x7 // encoding: [0xe1,0x1c,0x18,0x4e] +// CHECK: {{mov|ins}} v2.b[2], w1 // encoding: [0x22,0x1c,0x05,0x4e] +// CHECK: {{mov|ins}} v7.h[7], w14 // encoding: [0xc7,0x1d,0x1e,0x4e] +// CHECK: {{mov|ins}} v20.s[0], w30 // encoding: [0xd4,0x1f,0x04,0x4e] +// CHECK: {{mov|ins}} v1.d[1], x7 // encoding: [0xe1,0x1c,0x18,0x4e] -// CHECK: ins v2.b[2], w1 // encoding: [0x22,0x1c,0x05,0x4e] -// CHECK: ins v7.h[7], w14 // encoding: [0xc7,0x1d,0x1e,0x4e] -// CHECK: ins v20.s[0], w30 // encoding: [0xd4,0x1f,0x04,0x4e] -// CHECK: ins v1.d[1], x7 // encoding: [0xe1,0x1c,0x18,0x4e] +// CHECK: {{mov|ins}} v2.b[2], w1 // encoding: [0x22,0x1c,0x05,0x4e] +// CHECK: {{mov|ins}} v7.h[7], w14 // encoding: [0xc7,0x1d,0x1e,0x4e] +// CHECK: {{mov|ins}} v20.s[0], w30 // encoding: [0xd4,0x1f,0x04,0x4e] +// CHECK: {{mov|ins}} v1.d[1], x7 // encoding: [0xe1,0x1c,0x18,0x4e] //------------------------------------------------------------------------------ @@ -55,13 +55,13 @@ mov w20, v9.s[2] mov x7, v18.d[1] -// CHECK: umov w1, v0.b[15] // encoding: [0x01,0x3c,0x1f,0x0e] -// CHECK: umov w14, v6.h[4] // encoding: [0xce,0x3c,0x12,0x0e] -// CHECK: umov w20, v9.s[2] // encoding: [0x34,0x3d,0x14,0x0e] -// CHECK: umov x7, v18.d[1] // encoding: [0x47,0x3e,0x18,0x4e] +// CHECK: {{mov|umov}} w1, v0.b[15] // encoding: [0x01,0x3c,0x1f,0x0e] +// CHECK: {{mov|umov}} w14, v6.h[4] // encoding: [0xce,0x3c,0x12,0x0e] +// CHECK: {{mov|umov}} w20, v9.s[2] // encoding: [0x34,0x3d,0x14,0x0e] +// CHECK: {{mov|umov}} x7, v18.d[1] // encoding: [0x47,0x3e,0x18,0x4e] -// CHECK: umov w20, v9.s[2] // encoding: [0x34,0x3d,0x14,0x0e] -// CHECK: umov x7, v18.d[1] // encoding: [0x47,0x3e,0x18,0x4e] +// CHECK: {{mov|umov}} w20, v9.s[2] // encoding: [0x34,0x3d,0x14,0x0e] +// CHECK: {{mov|umov}} x7, v18.d[1] // encoding: [0x47,0x3e,0x18,0x4e] //------------------------------------------------------------------------------ // Insert element (vector, from element) @@ -77,15 +77,15 @@ mov v15.s[3], v22.s[2] mov v0.d[0], v4.d[1] -// CHECK: ins v1.b[14], v3.b[6] // encoding: [0x61,0x34,0x1d,0x6e] -// CHECK: ins v6.h[7], v7.h[5] // encoding: [0xe6,0x54,0x1e,0x6e] -// CHECK: ins v15.s[3], v22.s[2] // encoding: [0xcf,0x46,0x1c,0x6e] -// CHECK: ins v0.d[0], v4.d[1] // encoding: [0x80,0x44,0x08,0x6e] +// CHECK: {{mov|ins}} v1.b[14], v3.b[6] // encoding: [0x61,0x34,0x1d,0x6e] +// CHECK: {{mov|ins}} v6.h[7], v7.h[5] // encoding: [0xe6,0x54,0x1e,0x6e] +// CHECK: {{mov|ins}} v15.s[3], v22.s[2] // encoding: [0xcf,0x46,0x1c,0x6e] +// CHECK: {{mov|ins}} v0.d[0], v4.d[1] // encoding: [0x80,0x44,0x08,0x6e] -// CHECK: ins v1.b[14], v3.b[6] // encoding: [0x61,0x34,0x1d,0x6e] -// CHECK: ins v6.h[7], v7.h[5] // encoding: [0xe6,0x54,0x1e,0x6e] -// CHECK: ins v15.s[3], v22.s[2] // encoding: [0xcf,0x46,0x1c,0x6e] -// CHECK: ins v0.d[0], v4.d[1] // encoding: [0x80,0x44,0x08,0x6e] +// CHECK: {{mov|ins}} v1.b[14], v3.b[6] // encoding: [0x61,0x34,0x1d,0x6e] +// CHECK: {{mov|ins}} v6.h[7], v7.h[5] // encoding: [0xe6,0x54,0x1e,0x6e] +// CHECK: {{mov|ins}} v15.s[3], v22.s[2] // encoding: [0xcf,0x46,0x1c,0x6e] +// CHECK: {{mov|ins}} v0.d[0], v4.d[1] // encoding: [0x80,0x44,0x08,0x6e] //------------------------------------------------------------------------------ // Duplicate to all lanes( vector, from element) @@ -98,13 +98,13 @@ dup v17.4s, v20.s[0] dup v5.2d, v1.d[1] -// CHECK: dup v1.8b, v2.b[2] // encoding: [0x41,0x04,0x05,0x0e] -// CHECK: dup v11.4h, v7.h[7] // encoding: [0xeb,0x04,0x1e,0x0e] -// CHECK: dup v17.2s, v20.s[0] // encoding: [0x91,0x06,0x04,0x0e] -// CHECK: dup v1.16b, v2.b[2] // encoding: [0x41,0x04,0x05,0x4e] -// CHECK: dup v11.8h, v7.h[7] // encoding: [0xeb,0x04,0x1e,0x4e] -// CHECK: dup v17.4s, v20.s[0] // encoding: [0x91,0x06,0x04,0x4e] -// CHECK: dup v5.2d, v1.d[1] // encoding: [0x25,0x04,0x18,0x4e] +// CHECK: {{mov|dup}} v1.8b, v2.b[2] // encoding: [0x41,0x04,0x05,0x0e] +// CHECK: {{mov|dup}} v11.4h, v7.h[7] // encoding: [0xeb,0x04,0x1e,0x0e] +// CHECK: {{mov|dup}} v17.2s, v20.s[0] // encoding: [0x91,0x06,0x04,0x0e] +// CHECK: {{mov|dup}} v1.16b, v2.b[2] // encoding: [0x41,0x04,0x05,0x4e] +// CHECK: {{mov|dup}} v11.8h, v7.h[7] // encoding: [0xeb,0x04,0x1e,0x4e] +// CHECK: {{mov|dup}} v17.4s, v20.s[0] // encoding: [0x91,0x06,0x04,0x4e] +// CHECK: {{mov|dup}} v5.2d, v1.d[1] // encoding: [0x25,0x04,0x18,0x4e] //------------------------------------------------------------------------------ // Duplicate to all lanes( vector, from main) @@ -117,13 +117,13 @@ dup v17.4s, w28 dup v5.2d, x0 -// CHECK: dup v1.8b, w1 // encoding: [0x21,0x0c,0x01,0x0e] -// CHECK: dup v11.4h, w14 // encoding: [0xcb,0x0d,0x02,0x0e] -// CHECK: dup v17.2s, w30 // encoding: [0xd1,0x0f,0x04,0x0e] -// CHECK: dup v1.16b, w2 // encoding: [0x41,0x0c,0x01,0x4e] -// CHECK: dup v11.8h, w16 // encoding: [0x0b,0x0e,0x02,0x4e] -// CHECK: dup v17.4s, w28 // encoding: [0x91,0x0f,0x04,0x4e] -// CHECK: dup v5.2d, x0 // encoding: [0x05,0x0c,0x08,0x4e] +// CHECK: {{mov|dup}} v1.8b, w1 // encoding: [0x21,0x0c,0x01,0x0e] +// CHECK: {{mov|dup}} v11.4h, w14 // encoding: [0xcb,0x0d,0x02,0x0e] +// CHECK: {{mov|dup}} v17.2s, w30 // encoding: [0xd1,0x0f,0x04,0x0e] +// CHECK: {{mov|dup}} v1.16b, w2 // encoding: [0x41,0x0c,0x01,0x4e] +// CHECK: {{mov|dup}} v11.8h, w16 // encoding: [0x0b,0x0e,0x02,0x4e] +// CHECK: {{mov|dup}} v17.4s, w28 // encoding: [0x91,0x0f,0x04,0x4e] +// CHECK: {{mov|dup}} v5.2d, x0 // encoding: [0x05,0x0c,0x08,0x4e] diff --git a/test/MC/AArch64/neon-simd-misc.s b/test/MC/AArch64/neon-simd-misc.s index cfe2290e83..4486dddce4 100644 --- a/test/MC/AArch64/neon-simd-misc.s +++ b/test/MC/AArch64/neon-simd-misc.s @@ -282,8 +282,8 @@ not v0.16b, v31.16b not v1.8b, v9.8b -// CHECK: not v0.16b, v31.16b // encoding: [0xe0,0x5b,0x20,0x6e] -// CHECK: not v1.8b, v9.8b // encoding: [0x21,0x59,0x20,0x2e] +// CHECK: {{mvn|not}} v0.16b, v31.16b // encoding: [0xe0,0x5b,0x20,0x6e] +// CHECK: {{mvn|not}} v1.8b, v9.8b // encoding: [0x21,0x59,0x20,0x2e] //------------------------------------------------------------------------------ // Bitwise reverse diff --git a/test/MC/ARM64/advsimd.s b/test/MC/ARM64/advsimd.s index 56577f8f87..c627de708d 100644 --- a/test/MC/ARM64/advsimd.s +++ b/test/MC/ARM64/advsimd.s @@ -193,10 +193,10 @@ foo: ; CHECK: smov.s x3, v2[2] ; encoding: [0x43,0x2c,0x14,0x4e] ; CHECK: smov.s x3, v2[2] ; encoding: [0x43,0x2c,0x14,0x4e] -; CHECK: umov.s w3, v2[2] ; encoding: [0x43,0x3c,0x14,0x0e] -; CHECK: umov.s w3, v2[2] ; encoding: [0x43,0x3c,0x14,0x0e] -; CHECK: umov.d x3, v2[1] ; encoding: [0x43,0x3c,0x18,0x4e] -; CHECK: umov.d x3, v2[1] ; encoding: [0x43,0x3c,0x18,0x4e] +; CHECK: mov.s w3, v2[2] ; encoding: [0x43,0x3c,0x14,0x0e] +; CHECK: mov.s w3, v2[2] ; encoding: [0x43,0x3c,0x14,0x0e] +; CHECK: mov.d x3, v2[1] ; encoding: [0x43,0x3c,0x18,0x4e] +; CHECK: mov.d x3, v2[1] ; encoding: [0x43,0x3c,0x18,0x4e] ; MOV aliases for UMOV instructions above @@ -205,10 +205,10 @@ foo: mov.d x11, v13[1] mov x17, v19.d[0] -; CHECK: umov.s w2, v3[3] ; encoding: [0x62,0x3c,0x1c,0x0e] -; CHECK: umov.s w5, v7[2] ; encoding: [0xe5,0x3c,0x14,0x0e] -; CHECK: umov.d x11, v13[1] ; encoding: [0xab,0x3d,0x18,0x4e] -; CHECK: umov.d x17, v19[0] ; encoding: [0x71,0x3e,0x08,0x4e] +; CHECK: mov.s w2, v3[3] ; encoding: [0x62,0x3c,0x1c,0x0e] +; CHECK: mov.s w5, v7[2] ; encoding: [0xe5,0x3c,0x14,0x0e] +; CHECK: mov.d x11, v13[1] ; encoding: [0xab,0x3d,0x18,0x4e] +; CHECK: mov.d x17, v19[0] ; encoding: [0x71,0x3e,0x08,0x4e] ins.d v2[1], x5 ins.s v2[1], w5 @@ -534,7 +534,7 @@ foo: ; CHECK: frsqrte.2s v0, v0 ; encoding: [0x00,0xd8,0xa1,0x2e] ; CHECK: fsqrt.2s v0, v0 ; encoding: [0x00,0xf8,0xa1,0x2e] ; CHECK: neg.8b v0, v0 ; encoding: [0x00,0xb8,0x20,0x2e] -; CHECK: not.8b v0, v0 ; encoding: [0x00,0x58,0x20,0x2e] +; CHECK: mvn.8b v0, v0 ; encoding: [0x00,0x58,0x20,0x2e] ; CHECK: rbit.8b v0, v0 ; encoding: [0x00,0x58,0x60,0x2e] ; CHECK: rev16.8b v0, v0 ; encoding: [0x00,0x18,0x20,0x0e] ; CHECK: rev32.8b v0, v0 ; encoding: [0x00,0x08,0x20,0x2e] @@ -1881,10 +1881,10 @@ foo: mvn.8b v10, v6 mvn.16b v11, v7 -; CHECK: not.8b v1, v4 ; encoding: [0x81,0x58,0x20,0x2e] -; CHECK: not.16b v19, v17 ; encoding: [0x33,0x5a,0x20,0x6e] -; CHECK: not.8b v10, v6 ; encoding: [0xca,0x58,0x20,0x2e] -; CHECK: not.16b v11, v7 ; encoding: [0xeb,0x58,0x20,0x6e] +; CHECK: mvn.8b v1, v4 ; encoding: [0x81,0x58,0x20,0x2e] +; CHECK: mvn.16b v19, v17 ; encoding: [0x33,0x5a,0x20,0x6e] +; CHECK: mvn.8b v10, v6 ; encoding: [0xca,0x58,0x20,0x2e] +; CHECK: mvn.16b v11, v7 ; encoding: [0xeb,0x58,0x20,0x6e] ; sqdmull verbose mode aliases sqdmull v10.4s, v12.4h, v12.4h diff --git a/test/MC/Disassembler/ARM64/advsimd.txt b/test/MC/Disassembler/ARM64/advsimd.txt index 1efccbd3bf..cceee672df 100644 --- a/test/MC/Disassembler/ARM64/advsimd.txt +++ b/test/MC/Disassembler/ARM64/advsimd.txt @@ -124,10 +124,10 @@ # CHECK: smov.s x3, v2[2] # CHECK: smov.s x3, v2[2] -# CHECK: umov.s w3, v2[2] -# CHECK: umov.s w3, v2[2] -# CHECK: umov.d x3, v2[1] -# CHECK: umov.d x3, v2[1] +# CHECK: mov.s w3, v2[2] +# CHECK: mov.s w3, v2[2] +# CHECK: mov.d x3, v2[1] +# CHECK: mov.d x3, v2[1] 0xa2 0x1c 0x18 0x4e 0xa2 0x1c 0x0c 0x4e @@ -445,7 +445,7 @@ # CHECK: frsqrte.2s v0, v0 # CHECK: fsqrt.2s v0, v0 # CHECK: neg.8b v0, v0 -# CHECK: not.8b v0, v0 +# CHECK: mvn.8b v0, v0 # CHECK: rbit.8b v0, v0 # CHECK: rev16.8b v0, v0 # CHECK: rev32.8b v0, v0 |