Drop patches accepted upstream: root-adjust-allowed-test-difference-for-32-bit-ix86.patch root-crypto.patch root-js-syntax.patch root-missing-header.patch root-set-cache-file-dir.patch root-stressgraphics-ref.patch root-test-compilation-epel7.patch root-test-subdirs.patch root-unique-filenames.patch Dropped subpackages: root-rootd (obsolete - use xrootd) root-proofd (obsolete - use root-xproofd) root-proof-pq2 New ROOT 7 subpackage: root-graf3d-eve7 root-gui-webgui6 Make tutorial/v7/line.cxx run in batch mode
23 lines
1.3 KiB
Diff
23 lines
1.3 KiB
Diff
diff -ur root-6.14.00.orig/interpreter/llvm/src/lib/Target/PowerPC/PPCISelLowering.cpp root-6.14.00/interpreter/llvm/src/lib/Target/PowerPC/PPCISelLowering.cpp
|
|
--- root-6.14.00.orig/interpreter/llvm/src/lib/Target/PowerPC/PPCISelLowering.cpp 2018-06-13 12:10:40.000000000 +0200
|
|
+++ root-6.14.00/interpreter/llvm/src/lib/Target/PowerPC/PPCISelLowering.cpp 2018-06-27 17:06:55.739506085 +0200
|
|
@@ -11861,6 +11861,11 @@
|
|
N->getOperand(1).getValueType() == MVT::i16 ||
|
|
(Subtarget.hasLDBRX() && Subtarget.isPPC64() &&
|
|
N->getOperand(1).getValueType() == MVT::i64))) {
|
|
+ // STBRX can only handle simple types.
|
|
+ EVT mVT = cast<StoreSDNode>(N)->getMemoryVT();
|
|
+ if (mVT.isExtended())
|
|
+ break;
|
|
+
|
|
SDValue BSwapOp = N->getOperand(1).getOperand(0);
|
|
// Do an any-extend to 32-bits if this is a half-word input.
|
|
if (BSwapOp.getValueType() == MVT::i16)
|
|
@@ -11868,7 +11873,6 @@
|
|
|
|
// If the type of BSWAP operand is wider than stored memory width
|
|
// it need to be shifted to the right side before STBRX.
|
|
- EVT mVT = cast<StoreSDNode>(N)->getMemoryVT();
|
|
if (Op1VT.bitsGT(mVT)) {
|
|
int Shift = Op1VT.getSizeInBits() - mVT.getSizeInBits();
|
|
BSwapOp = DAG.getNode(ISD::SRL, dl, Op1VT, BSwapOp,
|