Produce an error instead of a crash in an expr we cannot represent.
[oota-llvm.git] / test / MC / AArch64 / neon-uxtl.s
1 // RUN: llvm-mc -triple=aarch64-none-linux-gnu -mattr=+neon -show-encoding < %s | FileCheck %s
2 // RUN: llvm-mc -triple=arm64-none-linux-gnu -mattr=+neon -show-encoding < %s | FileCheck %s
3
4 // Check that the assembler can handle the documented syntax for AArch64
5
6 //------------------------------------------------------------------------------
7 // Unsigned integer lengthen (vector)
8 //------------------------------------------------------------------------------
9         uxtl v0.8h, v1.8b
10         uxtl v0.4s, v1.4h
11         uxtl v0.2d, v1.2s
12
13 // CHECK: ushll v0.8h, v1.8b, #0        // encoding: [0x20,0xa4,0x08,0x2f]
14 // CHECK: ushll v0.4s, v1.4h, #0        // encoding: [0x20,0xa4,0x10,0x2f]
15 // CHECK: ushll v0.2d, v1.2s, #0        // encoding: [0x20,0xa4,0x20,0x2f]
16
17 //------------------------------------------------------------------------------
18 // Unsigned integer lengthen (vector, second part)
19 //------------------------------------------------------------------------------
20
21         uxtl2 v0.8h, v1.16b
22         uxtl2 v0.4s, v1.8h
23         uxtl2 v0.2d, v1.4s
24
25 // CHECK: ushll2 v0.8h, v1.16b, #0       // encoding: [0x20,0xa4,0x08,0x6f]
26 // CHECK: ushll2 v0.4s, v1.8h, #0        // encoding: [0x20,0xa4,0x10,0x6f]
27 // CHECK: ushll2 v0.2d, v1.4s, #0        // encoding: [0x20,0xa4,0x20,0x6f]