diff options
author | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2014-12-25 07:49:20 +0000 |
---|---|---|
committer | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2014-12-25 07:49:20 +0000 |
commit | fb81b93e175f355d3ee96a85c86ac27d75d8c7a9 (patch) | |
tree | a8c32f8c2bfd1066e161e6b842ca41b1095c0501 /llvm/lib/CodeGen/SelectionDAG | |
parent | 2913eca4e2929a54bbe1ebe2faf421ba7651e601 (diff) | |
download | bcm5719-llvm-fb81b93e175f355d3ee96a85c86ac27d75d8c7a9.tar.gz bcm5719-llvm-fb81b93e175f355d3ee96a85c86ac27d75d8c7a9.zip |
Masked Load/Store - Changed the order of parameters in intrinsics.
No functional changes.
The documentation is coming.
llvm-svn: 224829
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 81b824f305e..ae73e9f3560 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -3644,9 +3644,10 @@ void SelectionDAGBuilder::visitStore(const StoreInst &I) { void SelectionDAGBuilder::visitMaskedStore(const CallInst &I) { SDLoc sdl = getCurSDLoc(); - Value *PtrOperand = I.getArgOperand(0); + // llvm.masked.store.*(Src0, Ptr, alignemt, Mask) + Value *PtrOperand = I.getArgOperand(1); SDValue Ptr = getValue(PtrOperand); - SDValue Src0 = getValue(I.getArgOperand(1)); + SDValue Src0 = getValue(I.getArgOperand(0)); SDValue Mask = getValue(I.getArgOperand(3)); EVT VT = Src0.getValueType(); unsigned Alignment = (cast<ConstantInt>(I.getArgOperand(2)))->getZExtValue(); @@ -3669,14 +3670,15 @@ void SelectionDAGBuilder::visitMaskedStore(const CallInst &I) { void SelectionDAGBuilder::visitMaskedLoad(const CallInst &I) { SDLoc sdl = getCurSDLoc(); + // @llvm.masked.load.*(Ptr, alignment, Mask, Src0) Value *PtrOperand = I.getArgOperand(0); SDValue Ptr = getValue(PtrOperand); - SDValue Src0 = getValue(I.getArgOperand(1)); - SDValue Mask = getValue(I.getArgOperand(3)); + SDValue Src0 = getValue(I.getArgOperand(3)); + SDValue Mask = getValue(I.getArgOperand(2)); const TargetLowering &TLI = DAG.getTargetLoweringInfo(); EVT VT = TLI.getValueType(I.getType()); - unsigned Alignment = (cast<ConstantInt>(I.getArgOperand(2)))->getZExtValue(); + unsigned Alignment = (cast<ConstantInt>(I.getArgOperand(1)))->getZExtValue(); if (!Alignment) Alignment = DAG.getEVTAlignment(VT); |