xref: /llvm-project/llvm/test/CodeGen/M68k/Control/long-setcc.ll (revision c4c9d4f306732c854fa88d2f30c1a22bb025d0c9)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=m68k-linux -verify-machineinstrs | FileCheck %s
3
4define i1 @t1(i64 %x) nounwind {
5; CHECK-LABEL: t1:
6; CHECK:       ; %bb.0:
7; CHECK-NEXT:    moveq #31, %d1
8; CHECK-NEXT:    move.l (4,%sp), %d0
9; CHECK-NEXT:    lsr.l %d1, %d0
10; CHECK-NEXT:    ; kill: def $bd0 killed $bd0 killed $d0
11; CHECK-NEXT:    rts
12  %B = icmp slt i64 %x, 0
13  ret i1 %B
14}
15
16define i1 @t2(i64 %x) nounwind {
17; CHECK-LABEL: t2:
18; CHECK:       ; %bb.0:
19; CHECK-NEXT:    cmpi.l #0, (4,%sp)
20; CHECK-NEXT:    seq %d0
21; CHECK-NEXT:    rts
22  %tmp = icmp ult i64 %x, 4294967296
23  ret i1 %tmp
24}
25
26define i1 @t3(i32 %x) nounwind {
27; CHECK-LABEL: t3:
28; CHECK:       ; %bb.0:
29; CHECK-NEXT:    moveq #0, %d0
30; CHECK-NEXT:    rts
31  %tmp = icmp ugt i32 %x, -1
32  ret i1 %tmp
33}
34