mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
f45c7d8ff9
Going from XForm Load to DSForm Load requires that the immediate be 4 byte aligned. If we are not aligned we must leave the load as LDX (XForm). This bug is causing a compile-time failure in the benchmark h264ref. Differential Revision: https://reviews.llvm.org/D51988 llvm-svn: 343525
17 lines
655 B
LLVM
17 lines
655 B
LLVM
; RUN: llc -mcpu=pwr9 -mtriple=powerpc64le-unknown-unknown \
|
|
; RUN: -verify-machineinstrs -ppc-asm-full-reg-names \
|
|
; RUN: -ppc-vsr-nums-as-vr < %s | FileCheck %s
|
|
|
|
@best8x8mode = external dso_local local_unnamed_addr global [4 x i16], align 2
|
|
define dso_local void @AlignDSForm() local_unnamed_addr {
|
|
entry:
|
|
%0 = load <4 x i16>, <4 x i16>* bitcast ([4 x i16]* @best8x8mode to <4 x i16>*), align 2
|
|
store <4 x i16> %0, <4 x i16>* undef, align 4
|
|
unreachable
|
|
; CHECK-LABEL: AlignDSForm
|
|
; CHECK: addis r{{[0-9]+}}, r{{[0-9]+}}, best8x8mode@toc@ha
|
|
; CHECK: addi r[[REG:[0-9]+]], r{{[0-9]+}}, best8x8mode@toc@l
|
|
; CHECK: ldx r{{[0-9]+}}, 0, r[[REG]]
|
|
}
|
|
|