brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.3 KiB · 3cbf6ba Raw
214 lines · plain
1// RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon,+fullfp16 -show-encoding < %s | FileCheck %s2 3// Check that the assembler can handle the documented syntax for AArch644 5//----------------------------------------------------------------------6// Scalar Signed Integer Convert To Floating-point7//----------------------------------------------------------------------8 9    scvtf h23, h1410    scvtf s22, s1311    scvtf d21, d1212 13// CHECK: scvtf   h23, h14                // encoding: [0xd7,0xd9,0x79,0x5e]14// CHECK: scvtf s22, s13    // encoding: [0xb6,0xd9,0x21,0x5e]15// CHECK: scvtf d21, d12    // encoding: [0x95,0xd9,0x61,0x5e]16 17//----------------------------------------------------------------------18// Scalar Unsigned Integer Convert To Floating-point19//----------------------------------------------------------------------20 21    ucvtf h20, h1222    ucvtf s22, s1323    ucvtf d21, d1424 25// CHECK: ucvtf   h20, h12                // encoding: [0x94,0xd9,0x79,0x7e]26// CHECK: ucvtf s22, s13    // encoding: [0xb6,0xd9,0x21,0x7e]27// CHECK: ucvtf d21, d14    // encoding: [0xd5,0xd9,0x61,0x7e]28 29//----------------------------------------------------------------------30// Scalar Signed Fixed-point Convert To Floating-Point (Immediate)31//----------------------------------------------------------------------32 33    scvtf h22, h13, #1634    scvtf s22, s13, #3235    scvtf d21, d12, #6436 37// CHECK: scvtf   h22, h13, #16           // encoding: [0xb6,0xe5,0x10,0x5f]38// CHECK: scvtf s22, s13, #32  // encoding: [0xb6,0xe5,0x20,0x5f]39// CHECK: scvtf d21, d12, #64  // encoding: [0x95,0xe5,0x40,0x5f]    40 41//----------------------------------------------------------------------42// Scalar Unsigned Fixed-point Convert To Floating-Point (Immediate)43//----------------------------------------------------------------------44 45    ucvtf h22, h13, #1646    ucvtf s22, s13, #3247    ucvtf d21, d14, #6448 49// CHECK: ucvtf   h22, h13, #16           // encoding: [0xb6,0xe5,0x10,0x7f]50// CHECK: ucvtf s22, s13, #32  // encoding: [0xb6,0xe5,0x20,0x7f]51// CHECK: ucvtf d21, d14, #64  // encoding: [0xd5,0xe5,0x40,0x7f]52 53//----------------------------------------------------------------------54// Scalar Floating-point Convert To Signed Fixed-point (Immediate)55//----------------------------------------------------------------------56 57    fcvtzs h21, h12, #158    fcvtzs s21, s12, #159    fcvtzs d21, d12, #160 61// CHECK: fcvtzs  h21, h12, #1            // encoding: [0x95,0xfd,0x1f,0x5f]62// CHECK: fcvtzs s21, s12, #1  // encoding: [0x95,0xfd,0x3f,0x5f]63// CHECK: fcvtzs d21, d12, #1  // encoding: [0x95,0xfd,0x7f,0x5f]64        65//----------------------------------------------------------------------66// Scalar Floating-point Convert To Unsigned Fixed-point (Immediate)67//----------------------------------------------------------------------68 69    fcvtzu h21, h12, #170    fcvtzu s21, s12, #171    fcvtzu d21, d12, #172 73// CHECK: fcvtzu  h21, h12, #1            // encoding: [0x95,0xfd,0x1f,0x7f]74// CHECK: fcvtzu s21, s12, #1  // encoding: [0x95,0xfd,0x3f,0x7f]75// CHECK: fcvtzu d21, d12, #1  // encoding: [0x95,0xfd,0x7f,0x7f]76 77//----------------------------------------------------------------------78// Scalar Floating-point Convert To Lower Precision Narrow, Rounding To79// Odd80//----------------------------------------------------------------------81 82    fcvtxn s22, d1383 84// CHECK: fcvtxn s22, d13    // encoding: [0xb6,0x69,0x61,0x7e]85 86//----------------------------------------------------------------------87// Scalar Floating-point Convert To Signed Integer, Rounding To Nearest88// With Ties To Away89//----------------------------------------------------------------------90 91    fcvtas h12, h1392    fcvtas s12, s1393    fcvtas d21, d1494 95// CHECK: fcvtas  h12, h13                // encoding: [0xac,0xc9,0x79,0x5e]96// CHECK: fcvtas s12, s13    // encoding: [0xac,0xc9,0x21,0x5e]97// CHECK: fcvtas d21, d14    // encoding: [0xd5,0xc9,0x61,0x5e]98 99//----------------------------------------------------------------------100// Scalar Floating-point Convert To Unsigned Integer, Rounding To101// Nearest With Ties To Away102//----------------------------------------------------------------------103 104    fcvtau h12, h13105    fcvtau s12, s13106    fcvtau d21, d14107 108// CHECK: fcvtau  h12, h13                // encoding: [0xac,0xc9,0x79,0x7e]109// CHECK: fcvtau s12, s13    // encoding: [0xac,0xc9,0x21,0x7e]110// CHECK: fcvtau d21, d14    // encoding: [0xd5,0xc9,0x61,0x7e]111 112//----------------------------------------------------------------------113// Scalar Floating-point Convert To Signed Integer, Rounding Toward114// Minus Infinity115//----------------------------------------------------------------------116 117    fcvtms h22, h13118    fcvtms s22, s13119    fcvtms d21, d14120 121// CHECK: fcvtms  h22, h13                // encoding: [0xb6,0xb9,0x79,0x5e]122// CHECK: fcvtms s22, s13    // encoding: [0xb6,0xb9,0x21,0x5e]123// CHECK: fcvtms d21, d14    // encoding: [0xd5,0xb9,0x61,0x5e]124 125//----------------------------------------------------------------------126// Scalar Floating-point Convert To Unsigned Integer, Rounding Toward127// Minus Infinity128//----------------------------------------------------------------------129 130    fcvtmu h12, h13131    fcvtmu s12, s13132    fcvtmu d21, d14133 134// CHECK: fcvtmu  h12, h13                // encoding: [0xac,0xb9,0x79,0x7e]135// CHECK: fcvtmu s12, s13    // encoding: [0xac,0xb9,0x21,0x7e]136// CHECK: fcvtmu d21, d14    // encoding: [0xd5,0xb9,0x61,0x7e]137 138//----------------------------------------------------------------------139// Scalar Floating-point Convert To Signed Integer, Rounding To Nearest140// With Ties To Even141//----------------------------------------------------------------------142 143    fcvtns h22, h13144    fcvtns s22, s13145    fcvtns d21, d14146 147// CHECK: fcvtns  h22, h13                // encoding: [0xb6,0xa9,0x79,0x5e]148// CHECK: fcvtns s22, s13    // encoding: [0xb6,0xa9,0x21,0x5e]149// CHECK: fcvtns d21, d14    // encoding: [0xd5,0xa9,0x61,0x5e]150 151//----------------------------------------------------------------------152// Scalar Floating-point Convert To Unsigned Integer, Rounding To153// Nearest With Ties To Even154//----------------------------------------------------------------------155 156    fcvtnu h12, h13157    fcvtnu s12, s13158    fcvtnu d21, d14159 160// CHECK: fcvtnu  h12, h13                // encoding: [0xac,0xa9,0x79,0x7e]161// CHECK: fcvtnu s12, s13    // encoding: [0xac,0xa9,0x21,0x7e]162// CHECK: fcvtnu d21, d14    // encoding: [0xd5,0xa9,0x61,0x7e]163        164//----------------------------------------------------------------------165// Scalar Floating-point Convert To Signed Integer, Rounding Toward166// Positive Infinity167//----------------------------------------------------------------------168 169    fcvtps h22, h13170    fcvtps s22, s13171    fcvtps d21, d14172 173// CHECK: fcvtps  h22, h13                // encoding: [0xb6,0xa9,0xf9,0x5e]174// CHECK: fcvtps s22, s13    // encoding: [0xb6,0xa9,0xa1,0x5e]175// CHECK: fcvtps d21, d14    // encoding: [0xd5,0xa9,0xe1,0x5e]176        177//----------------------------------------------------------------------178// Scalar Floating-point Convert To Unsigned Integer, Rounding Toward179// Positive Infinity180//----------------------------------------------------------------------181 182    fcvtpu h12, h13183    fcvtpu s12, s13184    fcvtpu d21, d14185 186// CHECK: fcvtpu  h12, h13                // encoding: [0xac,0xa9,0xf9,0x7e]187// CHECK: fcvtpu s12, s13    // encoding: [0xac,0xa9,0xa1,0x7e]188// CHECK: fcvtpu d21, d14    // encoding: [0xd5,0xa9,0xe1,0x7e]189 190//----------------------------------------------------------------------191// Scalar Floating-point Convert To Signed Integer, Rounding Toward Zero192//----------------------------------------------------------------------193 194    fcvtzs h12, h13195    fcvtzs s12, s13196    fcvtzs d21, d14197 198// CHECK: fcvtzs  h12, h13                // encoding: [0xac,0xb9,0xf9,0x5e]199// CHECK: fcvtzs s12, s13    // encoding: [0xac,0xb9,0xa1,0x5e]200// CHECK: fcvtzs d21, d14    // encoding: [0xd5,0xb9,0xe1,0x5e]201        202//----------------------------------------------------------------------203// Scalar Floating-point Convert To Unsigned Integer, Rounding Toward 204// Zero205//----------------------------------------------------------------------206 207    fcvtzu h12, h13208    fcvtzu s12, s13209    fcvtzu d21, d14210 211// CHECK: fcvtzu  h12, h13                // encoding: [0xac,0xb9,0xf9,0x7e]212// CHECK: fcvtzu s12, s13    // encoding: [0xac,0xb9,0xa1,0x7e]213// CHECK: fcvtzu d21, d14    // encoding: [0xd5,0xb9,0xe1,0x7e]214