Skip to content

Commit 9ebcfbf

Browse files
committed
flip lo, hi operands
1 parent c008ba6 commit 9ebcfbf

File tree

4 files changed

+14
-14
lines changed

4 files changed

+14
-14
lines changed

llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -951,8 +951,8 @@ const char *NVPTXTargetLowering::getTargetNodeName(unsigned Opcode) const {
951951
MAKE_CASE(NVPTXISD::LDUV4)
952952
MAKE_CASE(NVPTXISD::StoreV2)
953953
MAKE_CASE(NVPTXISD::StoreV4)
954-
MAKE_CASE(NVPTXISD::FUN_SHFL_CLAMP)
955-
MAKE_CASE(NVPTXISD::FUN_SHFR_CLAMP)
954+
MAKE_CASE(NVPTXISD::FSHL_CLAMP)
955+
MAKE_CASE(NVPTXISD::FSHR_CLAMP)
956956
MAKE_CASE(NVPTXISD::IMAD)
957957
MAKE_CASE(NVPTXISD::BFE)
958958
MAKE_CASE(NVPTXISD::BFI)
@@ -2483,8 +2483,8 @@ SDValue NVPTXTargetLowering::LowerShiftRightParts(SDValue Op,
24832483
// dLo = shf.r.clamp aLo, aHi, Amt
24842484

24852485
SDValue Hi = DAG.getNode(Opc, dl, VT, ShOpHi, ShAmt);
2486-
SDValue Lo = DAG.getNode(NVPTXISD::FUN_SHFR_CLAMP, dl, VT, ShOpLo, ShOpHi,
2487-
ShAmt);
2486+
SDValue Lo =
2487+
DAG.getNode(NVPTXISD::FSHR_CLAMP, dl, VT, ShOpHi, ShOpLo, ShAmt);
24882488

24892489
SDValue Ops[2] = { Lo, Hi };
24902490
return DAG.getMergeValues(Ops, dl);
@@ -2542,8 +2542,8 @@ SDValue NVPTXTargetLowering::LowerShiftLeftParts(SDValue Op,
25422542
// dHi = shf.l.clamp aLo, aHi, Amt
25432543
// dLo = aLo << Amt
25442544

2545-
SDValue Hi = DAG.getNode(NVPTXISD::FUN_SHFL_CLAMP, dl, VT, ShOpLo, ShOpHi,
2546-
ShAmt);
2545+
SDValue Hi =
2546+
DAG.getNode(NVPTXISD::FSHL_CLAMP, dl, VT, ShOpHi, ShOpLo, ShAmt);
25472547
SDValue Lo = DAG.getNode(ISD::SHL, dl, VT, ShOpLo, ShAmt);
25482548

25492549
SDValue Ops[2] = { Lo, Hi };

llvm/lib/Target/NVPTX/NVPTXISelLowering.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ enum NodeType : unsigned {
5151
CallSeqEnd,
5252
CallPrototype,
5353
ProxyReg,
54-
FUN_SHFL_CLAMP,
55-
FUN_SHFR_CLAMP,
54+
FSHL_CLAMP,
55+
FSHR_CLAMP,
5656
MUL_WIDE_SIGNED,
5757
MUL_WIDE_UNSIGNED,
5858
IMAD,

llvm/lib/Target/NVPTX/NVPTXInstrInfo.td

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3502,8 +3502,8 @@ def: Pat<(v2i16 (scalar_to_vector (i16 Int16Regs:$a))),
35023502

35033503
// Create SDNodes so they can be used in the DAG code, e.g.
35043504
// NVPTXISelLowering (LowerShiftLeftParts and LowerShiftRightParts)
3505-
def fshl_clamp : SDNode<"NVPTXISD::FUN_SHFL_CLAMP", SDTIntShiftDOp, []>;
3506-
def fshr_clamp : SDNode<"NVPTXISD::FUN_SHFR_CLAMP", SDTIntShiftDOp, []>;
3505+
def fshl_clamp : SDNode<"NVPTXISD::FSHL_CLAMP", SDTIntShiftDOp, []>;
3506+
def fshr_clamp : SDNode<"NVPTXISD::FSHR_CLAMP", SDTIntShiftDOp, []>;
35073507

35083508
// Funnel shift, requires >= sm_32. Does not trap if amt is out of range, so
35093509
// no side effects.
@@ -3514,15 +3514,15 @@ let hasSideEffects = false in {
35143514
(ins Int32Regs:$lo, Int32Regs:$hi, i32imm:$amt),
35153515
"shf." # mode # ".b32 \t$dst, $lo, $hi, $amt;",
35163516
[(set Int32Regs:$dst,
3517-
(op (i32 Int32Regs:$lo), (i32 Int32Regs:$hi), (i32 imm:$amt)))]>,
3517+
(op (i32 Int32Regs:$hi), (i32 Int32Regs:$lo), (i32 imm:$amt)))]>,
35183518
Requires<[hasHWROT32]>;
35193519

35203520
def _r
35213521
: NVPTXInst<(outs Int32Regs:$dst),
35223522
(ins Int32Regs:$lo, Int32Regs:$hi, Int32Regs:$amt),
35233523
"shf." # mode # ".b32 \t$dst, $lo, $hi, $amt;",
35243524
[(set Int32Regs:$dst,
3525-
(op (i32 Int32Regs:$lo), (i32 Int32Regs:$hi), (i32 Int32Regs:$amt)))]>,
3525+
(op (i32 Int32Regs:$hi), (i32 Int32Regs:$lo), (i32 Int32Regs:$amt)))]>,
35263526
Requires<[hasHWROT32]>;
35273527
}
35283528

llvm/test/CodeGen/NVPTX/rotate.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ define i32 @funnel_shift_right_32(i32 %a, i32 %b, i32 %c) {
321321
; SM35-NEXT: ld.param.u32 %r1, [funnel_shift_right_32_param_0];
322322
; SM35-NEXT: ld.param.u32 %r2, [funnel_shift_right_32_param_1];
323323
; SM35-NEXT: ld.param.u32 %r3, [funnel_shift_right_32_param_2];
324-
; SM35-NEXT: shf.r.wrap.b32 %r4, %r1, %r2, %r3;
324+
; SM35-NEXT: shf.r.wrap.b32 %r4, %r2, %r1, %r3;
325325
; SM35-NEXT: st.param.b32 [func_retval0+0], %r4;
326326
; SM35-NEXT: ret;
327327
%val = call i32 @llvm.fshr.i32(i32 %a, i32 %b, i32 %c)
@@ -355,7 +355,7 @@ define i32 @funnel_shift_left_32(i32 %a, i32 %b, i32 %c) {
355355
; SM35-NEXT: ld.param.u32 %r1, [funnel_shift_left_32_param_0];
356356
; SM35-NEXT: ld.param.u32 %r2, [funnel_shift_left_32_param_1];
357357
; SM35-NEXT: ld.param.u32 %r3, [funnel_shift_left_32_param_2];
358-
; SM35-NEXT: shf.l.wrap.b32 %r4, %r1, %r2, %r3;
358+
; SM35-NEXT: shf.l.wrap.b32 %r4, %r2, %r1, %r3;
359359
; SM35-NEXT: st.param.b32 [func_retval0+0], %r4;
360360
; SM35-NEXT: ret;
361361
%val = call i32 @llvm.fshl.i32(i32 %a, i32 %b, i32 %c)

0 commit comments

Comments
 (0)