54774097c0b0e0f809c11711b364a8a818e5f979
[oota-llvm.git] / test / MC / AArch64 / neon-scalar-cvt.s
1 // RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon -show-encoding < %s | FileCheck %s
2
3 // Check that the assembler can handle the documented syntax for AArch64
4
5 //----------------------------------------------------------------------
6 // Scalar Signed Integer Convert To Floating-point
7 //----------------------------------------------------------------------
8
9     scvtf s22, s13
10     scvtf d21, d12
11
12 // CHECK: scvtf s22, s13    // encoding: [0xb6,0xd9,0x21,0x5e]
13 // CHECK: scvtf d21, d12    // encoding: [0x95,0xd9,0x61,0x5e]
14
15 //----------------------------------------------------------------------
16 // Scalar Unsigned Integer Convert To Floating-point
17 //----------------------------------------------------------------------
18
19     ucvtf s22, s13
20     ucvtf d21, d14
21
22 // CHECK: ucvtf s22, s13    // encoding: [0xb6,0xd9,0x21,0x7e]
23 // CHECK: ucvtf d21, d14    // encoding: [0xd5,0xd9,0x61,0x7e]
24
25 //----------------------------------------------------------------------
26 // Scalar Signed Fixed-point Convert To Floating-Point (Immediate)
27 //----------------------------------------------------------------------
28
29     scvtf s22, s13, #32
30     scvtf d21, d12, #64
31
32 // CHECK: scvtf s22, s13, #32  // encoding: [0xb6,0xe5,0x20,0x5f]
33 // CHECK: scvtf d21, d12, #64  // encoding: [0x95,0xe5,0x40,0x5f]    
34
35 //----------------------------------------------------------------------
36 // Scalar Unsigned Fixed-point Convert To Floating-Point (Immediate)
37 //----------------------------------------------------------------------
38
39     ucvtf s22, s13, #32
40     ucvtf d21, d14, #64
41
42 // CHECK: ucvtf s22, s13, #32  // encoding: [0xb6,0xe5,0x20,0x7f]
43 // CHECK: ucvtf d21, d14, #64  // encoding: [0xd5,0xe5,0x40,0x7f]
44
45 //----------------------------------------------------------------------
46 // Scalar Floating-point Convert To Signed Fixed-point (Immediate)
47 //----------------------------------------------------------------------
48
49     fcvtzs s21, s12, #1
50     fcvtzs d21, d12, #1
51
52 // CHECK: fcvtzs s21, s12, #1  // encoding: [0x95,0xfd,0x3f,0x5f]
53 // CHECK: fcvtzs d21, d12, #1  // encoding: [0x95,0xfd,0x7f,0x5f]
54         
55 //----------------------------------------------------------------------
56 // Scalar Floating-point Convert To Unsigned Fixed-point (Immediate)
57 //----------------------------------------------------------------------
58
59     fcvtzu s21, s12, #1
60     fcvtzu d21, d12, #1
61
62 // CHECK: fcvtzu s21, s12, #1  // encoding: [0x95,0xfd,0x3f,0x7f]
63 // CHECK: fcvtzu d21, d12, #1  // encoding: [0x95,0xfd,0x7f,0x7f]