mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-05 11:57:07 +00:00
38caf19333
Currently we have a number of tests that fail with -verify-machineinstrs. To detect this cases earlier we add the option to the testcases with the exception of tests that will currently fail with this option. PR 27456 keeps track of this failures. No code review, as discussed with Hal Finkel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@277624 91177308-0d34-0410-b5e6-96231b3b80d8
23 lines
801 B
LLVM
23 lines
801 B
LLVM
; RUN: llc -verify-machineinstrs < %s | FileCheck %s
|
|
|
|
; The SplitIndexingFromLoad tranformation exposed an isel backend bug. This
|
|
; testcase used to generate stwx 4, 3, 64. stwx does not have an
|
|
; immediate-offset format (note the 64) and it should not be matched.
|
|
|
|
target datalayout = "e-m:e-i64:64-n32:64"
|
|
target triple = "powerpc64le-unknown-linux-gnu"
|
|
|
|
%class.test = type { [64 x i8], [5 x i8] }
|
|
|
|
; CHECK-LABEL: f:
|
|
; CHECK-NOT: stwx {{[0-9]+}}, {{[0-9]+}}, 64
|
|
define void @f(%class.test* %this) {
|
|
entry:
|
|
%Subminor.i.i = getelementptr inbounds %class.test, %class.test* %this, i64 0, i32 1
|
|
%0 = bitcast [5 x i8]* %Subminor.i.i to i40*
|
|
%bf.load2.i.i = load i40, i40* %0, align 4
|
|
%bf.clear7.i.i = and i40 %bf.load2.i.i, -8589934592
|
|
store i40 %bf.clear7.i.i, i40* %0, align 4
|
|
ret void
|
|
}
|