llvm-for-llvmta/test/CodeGen/PowerPC/setcc-sub-flag.ll

34 lines
967 B
LLVM

; RUN: llc -mtriple=powerpc64le -simplify-mir -verify-machineinstrs \
; RUN: -stop-after=finalize-isel < %s | FileCheck %s
declare void @foo(i64)
declare void @bar(i1)
define void @f(i64 %a, i64 %b) {
; CHECK-LABEL: name: f
; CHECK: bb.0 (%ir-block.0):
; CHECK: liveins: $x3, $x4
; CHECK: [[COPY:%[0-9]+]]:g8rc = COPY $x4
; CHECK: [[COPY1:%[0-9]+]]:g8rc = COPY $x3
; CHECK: [[SUBF8_:%[0-9]+]]:g8rc = nsw SUBF8 [[COPY1]], [[COPY]]
%c = sub nsw i64 %b, %a
call void @foo(i64 %c)
%d = icmp slt i64 %a, %b
call void @bar(i1 %d)
ret void
}
define void @g(i64 %a, i64 %b) {
; CHECK-LABEL: name: g
; CHECK: bb.0 (%ir-block.0):
; CHECK: liveins: $x3, $x4
; CHECK: [[COPY:%[0-9]+]]:g8rc = COPY $x4
; CHECK: [[COPY1:%[0-9]+]]:g8rc = COPY $x3
; CHECK: [[SUBF8_:%[0-9]+]]:g8rc = nsw SUBF8 [[COPY]], [[COPY1]]
%c = sub nsw i64 %a, %b
call void @foo(i64 %c)
%d = icmp slt i64 %a, %b
call void @bar(i1 %d)
ret void
}