| # RUN: not --crash llc -mtriple=aarch64 -run-pass=none -filetype=null %s 2>&1 | FileCheck %s | |
| # REQUIRES: aarch64-registered-target | |
| --- | |
| name: test_uscmp | |
| body: | | |
| bb.0: | |
| %2:_(p0) = G_IMPLICIT_DEF | |
| %3:_(p0) = G_IMPLICIT_DEF | |
| ; CHECK: Generic scmp/ucmp does not support pointers as operands | |
| %4:_(s1) = G_SCMP %2, %3 | |
| %12:_(s64) = G_IMPLICIT_DEF | |
| %13:_(s64) = G_IMPLICIT_DEF | |
| ; CHECK: Generic scmp/ucmp does not support pointers as a result | |
| %14:_(p0) = G_SCMP %12, %13 | |
| %23:_(<2 x s32>) = G_IMPLICIT_DEF | |
| %24:_(<2 x s32>) = G_IMPLICIT_DEF | |
| ; CHECK: Generic vector scmp/ucmp must preserve number of lanes | |
| %5:_(s2) = G_UCMP %23, %24 | |
| %15:_(s32) = G_CONSTANT i32 0 | |
| %16:_(s64) = G_CONSTANT i64 2 | |
| ; CHECK: Type mismatch in generic instruction | |
| %17:_(s2) = G_SCMP %15, %16 | |
| %18:_(s32) = G_CONSTANT i32 0 | |
| %19:_(s32) = G_CONSTANT i32 2 | |
| ; CHECK: Result type must be at least 2 bits wide | |
| %20:_(s1) = G_SCMP %18, %19 | |
| ... |