mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:23:11 +01:00
634d96e078
These are some new variants of the "Floating-point Round to Integral" family of instructions, which round to the nearest floating-point value which fits in a 32- or 64-bit integer. Patch by Pablo Barrio! Differential revision: https://reviews.llvm.org/D52475 llvm-svn: 343209
53 lines
2.0 KiB
ArmAsm
53 lines
2.0 KiB
ArmAsm
// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.5a < %s 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR
|
|
|
|
// FP-to-int rounding, vector, illegal
|
|
frint32z v0.4h, v0.4h
|
|
frint32z v0.8b, v0.8b
|
|
frint32z v0.8h, v0.8h
|
|
frint32z v0.16b, v0.16b
|
|
frint64z v0.4h, v0.4h
|
|
frint64z v0.8b, v0.8b
|
|
frint64z v0.8h, v0.8h
|
|
frint64z v0.16b, v0.16b
|
|
frint32x v0.4h, v0.4h
|
|
frint32x v0.8b, v0.8b
|
|
frint32x v0.8h, v0.8h
|
|
frint32x v0.16b, v0.16b
|
|
frint64x v0.4h, v0.4h
|
|
frint64x v0.8b, v0.8b
|
|
frint64x v0.8h, v0.8h
|
|
frint64x v0.16b, v0.16b
|
|
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint32z v0.4h, v0.4h
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint32z v0.8b, v0.8b
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint32z v0.8h, v0.8h
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint32z v0.16b, v0.16b
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint64z v0.4h, v0.4h
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint64z v0.8b, v0.8b
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint64z v0.8h, v0.8h
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint64z v0.16b, v0.16b
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint32x v0.4h, v0.4h
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint32x v0.8b, v0.8b
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint32x v0.8h, v0.8h
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint32x v0.16b, v0.16b
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint64x v0.4h, v0.4h
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint64x v0.8b, v0.8b
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint64x v0.8h, v0.8h
|
|
// CHECK-ERROR: invalid operand for instruction
|
|
// CHECK-ERROR-NEXT: frint64x v0.16b, v0.16b
|