58 lines
2.9 KiB
ArmAsm
58 lines
2.9 KiB
ArmAsm
|
// RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon,+fullfp16 -show-encoding < %s | FileCheck %s
|
||
|
|
||
|
// Check that the assembler can handle the documented syntax for AArch64
|
||
|
|
||
|
//----------------------------------------------------------------------
|
||
|
// Vector Absolute Compare Mask Less Than Or Equal (Floating Point)
|
||
|
// FACLE is alias for FACGE with operands reversed
|
||
|
//----------------------------------------------------------------------
|
||
|
facge v0.4h, v31.4h, v16.4h
|
||
|
facge v4.8h, v7.8h, v15.8h
|
||
|
facge v0.2s, v31.2s, v16.2s
|
||
|
facge v4.4s, v7.4s, v15.4s
|
||
|
facge v29.2d, v2.2d, v5.2d
|
||
|
facle v0.4h, v16.4h, v31.4h
|
||
|
facle v4.8h, v15.8h, v7.8h
|
||
|
facle v0.2s, v16.2s, v31.2s
|
||
|
facle v4.4s, v15.4s, v7.4s
|
||
|
facle v29.2d, v5.2d, v2.2d
|
||
|
|
||
|
// CHECK: facge v0.4h, v31.4h, v16.4h // encoding: [0xe0,0x2f,0x50,0x2e]
|
||
|
// CHECK: facge v4.8h, v7.8h, v15.8h // encoding: [0xe4,0x2c,0x4f,0x6e]
|
||
|
// CHECK: facge v0.2s, v31.2s, v16.2s // encoding: [0xe0,0xef,0x30,0x2e]
|
||
|
// CHECK: facge v4.4s, v7.4s, v15.4s // encoding: [0xe4,0xec,0x2f,0x6e]
|
||
|
// CHECK: facge v29.2d, v2.2d, v5.2d // encoding: [0x5d,0xec,0x65,0x6e]
|
||
|
// CHECK: facge v0.4h, v31.4h, v16.4h // encoding: [0xe0,0x2f,0x50,0x2e]
|
||
|
// CHECK: facge v4.8h, v7.8h, v15.8h // encoding: [0xe4,0x2c,0x4f,0x6e]
|
||
|
// CHECK: facge v0.2s, v31.2s, v16.2s // encoding: [0xe0,0xef,0x30,0x2e]
|
||
|
// CHECK: facge v4.4s, v7.4s, v15.4s // encoding: [0xe4,0xec,0x2f,0x6e]
|
||
|
// CHECK: facge v29.2d, v2.2d, v5.2d // encoding: [0x5d,0xec,0x65,0x6e]
|
||
|
|
||
|
//----------------------------------------------------------------------
|
||
|
// Vector Absolute Compare Mask Less Than (Floating Point)
|
||
|
// FACLT is alias for FACGT with operands reversed
|
||
|
//----------------------------------------------------------------------
|
||
|
facgt v3.4h, v8.4h, v12.4h
|
||
|
facgt v31.8h, v29.8h, v28.8h
|
||
|
facgt v31.4s, v29.4s, v28.4s
|
||
|
facgt v3.2s, v8.2s, v12.2s
|
||
|
facgt v17.2d, v15.2d, v13.2d
|
||
|
faclt v3.4h, v12.4h, v8.4h
|
||
|
faclt v31.8h, v28.8h, v29.8h
|
||
|
faclt v31.4s, v28.4s, v29.4s
|
||
|
faclt v3.2s, v12.2s, v8.2s
|
||
|
faclt v17.2d, v13.2d, v15.2d
|
||
|
|
||
|
// CHECK: facgt v3.4h, v8.4h, v12.4h // encoding: [0x03,0x2d,0xcc,0x2e]
|
||
|
// CHECK: facgt v31.8h, v29.8h, v28.8h // encoding: [0xbf,0x2f,0xdc,0x6e]
|
||
|
// CHECK: facgt v31.4s, v29.4s, v28.4s // encoding: [0xbf,0xef,0xbc,0x6e]
|
||
|
// CHECK: facgt v3.2s, v8.2s, v12.2s // encoding: [0x03,0xed,0xac,0x2e]
|
||
|
// CHECK: facgt v17.2d, v15.2d, v13.2d // encoding: [0xf1,0xed,0xed,0x6e]
|
||
|
// CHECK: facgt v3.4h, v8.4h, v12.4h // encoding: [0x03,0x2d,0xcc,0x2e]
|
||
|
// CHECK: facgt v31.8h, v29.8h, v28.8h // encoding: [0xbf,0x2f,0xdc,0x6e]
|
||
|
// CHECK: facgt v31.4s, v29.4s, v28.4s // encoding: [0xbf,0xef,0xbc,0x6e]
|
||
|
// CHECK: facgt v3.2s, v8.2s, v12.2s // encoding: [0x03,0xed,0xac,0x2e]
|
||
|
// CHECK: facgt v17.2d, v15.2d, v13.2d // encoding: [0xf1,0xed,0xed,0x6e]
|
||
|
|
||
|
|