llvm-project/llvm/test/CodeGen/PowerPC/ppc32-i64-to-float-conv.ll
Kai Nacke 5403c59c60 [PPC] Opaque pointer migration, part 2.
The LIT test cases were migrated with the script provided by
Nikita Popov. Due to the size of the change it is split into
several parts.

Reviewed By: nemanja, nikic

Differential Revision: https://reviews.llvm.org/D135474
2022-10-11 17:24:06 +00:00

25 lines
741 B
LLVM

; RUN: llc -verify-machineinstrs < %s -mcpu=pwr4 -mattr=-altivec \
; RUN: -mtriple=powerpc-ibm-aix-xcoff 2>&1 | FileCheck %s
; RUN: llc -verify-machineinstrs < %s -mcpu=pwr4 -mattr=-altivec \
; RUN: -mtriple=powerpc-unknown-linux-gnu 2>&1 | FileCheck %s
; When we convert an `i64` to `f32` on 32-bit PPC target, a `setcc` will be
; generated. And this testcase verifies that the operand expansion of `setcc`
; will not crash.
%struct.A = type { float }
@ll = external local_unnamed_addr global i64
@a = external local_unnamed_addr global %struct.A
define void @foo() local_unnamed_addr {
entry:
%0 = load i64, ptr @ll
%conv = sitofp i64 %0 to float
store float %conv, ptr @a
ret void
}
; CHECK-NOT: Unexpected setcc expansion!