• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#RUN: not --crash llc -o - -march=arm64 -global-isel -run-pass=none -verify-machineinstrs %s 2>&1 | FileCheck %s
2# REQUIRES: aarch64-registered-target
3
4---
5name:            test_icmp
6legalized:       true
7regBankSelected: false
8selected:        false
9tracksRegLiveness: true
10liveins:
11body:             |
12  bb.0:
13
14    %0:_(s32) = G_CONSTANT i32 0
15    %1:_(s32) = G_CONSTANT i32 1
16
17   ; Vector result, scalar source
18   ; CHECK: Bad machine code: Generic vector icmp/fcmp must preserve number of lanes
19    %2:_(<2 x s1>) = G_ICMP intpred(eq), %0, %1
20
21    ; Scalar result, vector source
22    ; CHECK: Bad machine code: Generic vector icmp/fcmp must preserve number of lanes
23    %3:_(<2 x s32>) = G_IMPLICIT_DEF
24    %4:_(<2 x s32>) = G_IMPLICIT_DEF
25    %5:_(s1) = G_ICMP intpred(eq), %3, %4
26
27    ; mismatched element count
28    ; CHECK: Bad machine code: Generic vector icmp/fcmp must preserve number of
29    %6:_(<2 x s32>) = G_IMPLICIT_DEF
30    %7:_(<2 x s32>) = G_IMPLICIT_DEF
31    %8:_(<4 x s1>) = G_ICMP intpred(eq), %6, %7
32
33
34    ; mismatched scalar element type
35    ; CHECK: *** Bad machine code: Type mismatch in generic instruction ***
36    %9:_(s32) = G_CONSTANT i32 0
37    %10:_(s64) = G_CONSTANT i32 1
38    %11:_(s1) = G_ICMP intpred(eq), %9, %10
39
40...
41