llvm-project/llvm/test/MachineVerifier/test_g_isnan.mir

34 lines
1.4 KiB
YAML

# REQUIRES: aarch64-registered-target
# RUN: not --crash llc -verify-machineinstrs -mtriple aarch64 -run-pass none -o /dev/null %s 2>&1 | FileCheck %s
name: test
body: |
bb.0:
liveins: $x0
%s64:_(s64) = COPY $x0
%v4s16:_(<4 x s16>) = COPY $x0
; CHECK: *** Bad machine code: Destination must be a 1-bit scalar or vector of 1-bit elements ***
; CHECK: instruction: %isnan1:_(s64) = G_ISNAN %s64:_(s64)
%isnan1:_(s64) = G_ISNAN %s64
; CHECK: *** Bad machine code: operand types must be all-vector or all-scalar ***
; CHECK: instruction: %isnan2:_(<2 x s1>) = G_ISNAN %s64:_(s64)
%isnan2:_(<2 x s1>) = G_ISNAN %s64
; CHECK: *** Bad machine code: operand types must preserve number of vector elements ***
; CHECK: instruction: %isnan3:_(<2 x s1>) = G_ISNAN %v4s16:_(<4 x s16>)
%isnan3:_(<2 x s1>) = G_ISNAN %v4s16
; CHECK: *** Bad machine code: operand types must be all-vector or all-scalar ***
; CHECK: instruction: %isnan4:_(s1) = G_ISNAN %v4s16:_(<4 x s16>)
%isnan4:_(s1) = G_ISNAN %v4s16
; CHECK: *** Bad machine code: Destination must be a 1-bit scalar or vector of 1-bit elements ***
; CHECK: instruction: %isnan5:_(p0) = G_ISNAN %s64:_(s64)
%isnan5:_(p0) = G_ISNAN %s64
; CHECK: *** Bad machine code: Destination must be a 1-bit scalar or vector of 1-bit elements ***
; CHECK: instruction: %isnan6:_(<4 x p0>) = G_ISNAN %v4s16:_(<4 x s16>)
%isnan6:_(<4 x p0>) = G_ISNAN %v4s16