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] 64