Fix ARM vcvt encoding when the number of fractional bits is zero.
[oota-llvm.git] / test / MC / ARM / neon-convert-encoding.s
1 @ RUN: llvm-mc -mcpu=cortex-a9 -triple arm-unknown-unknown -show-encoding < %s | FileCheck %s
2
3 @ CHECK: vcvt.s32.f32   d16, d16        @ encoding: [0x20,0x07,0xfb,0xf3]
4         vcvt.s32.f32    d16, d16
5 @ CHECK: vcvt.u32.f32   d16, d16        @ encoding: [0xa0,0x07,0xfb,0xf3]
6         vcvt.u32.f32    d16, d16
7 @ CHECK: vcvt.f32.s32   d16, d16        @ encoding: [0x20,0x06,0xfb,0xf3]
8         vcvt.f32.s32    d16, d16
9 @ CHECK: vcvt.f32.u32   d16, d16        @ encoding: [0xa0,0x06,0xfb,0xf3]
10         vcvt.f32.u32    d16, d16
11 @ CHECK: vcvt.s32.f32   q8, q8          @ encoding: [0x60,0x07,0xfb,0xf3]
12         vcvt.s32.f32    q8, q8
13 @ CHECK: vcvt.u32.f32   q8, q8          @ encoding: [0xe0,0x07,0xfb,0xf3]
14         vcvt.u32.f32    q8, q8
15 @ CHECK: vcvt.f32.s32   q8, q8          @ encoding: [0x60,0x06,0xfb,0xf3]
16         vcvt.f32.s32    q8, q8
17 @ CHECK: vcvt.f32.u32   q8, q8          @ encoding: [0xe0,0x06,0xfb,0xf3]
18         vcvt.f32.u32    q8, q8
19 @ CHECK: vcvt.s32.f32   d16, d16, #1    @ encoding: [0x30,0x0f,0xff,0xf2]
20         vcvt.s32.f32    d16, d16, #1
21 @ CHECK: vcvt.s32.f32   d16, d16        @ encoding: [0x20,0x07,0xfb,0xf3]
22         vcvt.s32.f32    d16, d16, #0
23 @ CHECK: vcvt.u32.f32   d16, d16, #1    @ encoding: [0x30,0x0f,0xff,0xf3]
24         vcvt.u32.f32    d16, d16, #1
25 @ CHECK: vcvt.u32.f32   d16, d16        @ encoding: [0xa0,0x07,0xfb,0xf3]
26         vcvt.u32.f32    d16, d16, #0
27 @ CHECK: vcvt.f32.s32   d16, d16, #1    @ encoding: [0x30,0x0e,0xff,0xf2]
28         vcvt.f32.s32    d16, d16, #1
29 @ CHECK: vcvt.f32.s32   d16, d16        @ encoding: [0x20,0x06,0xfb,0xf3]
30         vcvt.f32.s32    d16, d16, #0
31 @ CHECK: vcvt.f32.u32   d16, d16, #1    @ encoding: [0x30,0x0e,0xff,0xf3]
32         vcvt.f32.u32    d16, d16, #1
33 @ CHECK: vcvt.f32.u32   d16, d16        @ encoding: [0xa0,0x06,0xfb,0xf3]
34         vcvt.f32.u32    d16, d16, #0
35 @ CHECK: vcvt.s32.f32   q8, q8, #1      @ encoding: [0x70,0x0f,0xff,0xf2]
36         vcvt.s32.f32    q8, q8, #1
37 @ CHECK: vcvt.s32.f32   q8, q8          @ encoding: [0x60,0x07,0xfb,0xf3]
38         vcvt.s32.f32    q8, q8, #0
39 @ CHECK: vcvt.u32.f32   q8, q8, #1      @ encoding: [0x70,0x0f,0xff,0xf3]
40         vcvt.u32.f32    q8, q8, #1
41 @ CHECK: vcvt.u32.f32   q8, q8          @ encoding: [0xe0,0x07,0xfb,0xf3]
42         vcvt.u32.f32    q8, q8, #0
43 @ CHECK: vcvt.f32.s32   q8, q8, #1      @ encoding: [0x70,0x0e,0xff,0xf2]
44         vcvt.f32.s32    q8, q8, #1
45 @ CHECK: vcvt.f32.s32   q8, q8          @ encoding: [0x60,0x06,0xfb,0xf3]
46         vcvt.f32.s32    q8, q8, #0
47 @ CHECK: vcvt.f32.u32   q8, q8, #1      @ encoding: [0x70,0x0e,0xff,0xf3]
48         vcvt.f32.u32    q8, q8, #1
49 @ CHECK: vcvt.f32.u32   q8, q8          @ encoding: [0xe0,0x06,0xfb,0xf3]
50         vcvt.f32.u32    q8, q8, #0
51 @ CHECK: vcvt.f32.f16   q8, d16         @ encoding: [0x20,0x07,0xf6,0xf3]
52         vcvt.f32.f16    q8, d16
53 @ CHECK: vcvt.f16.f32   d16, q8         @ encoding: [0x20,0x06,0xf6,0xf3]
54         vcvt.f16.f32    d16, q8