@@ -1533,7 +1533,7 @@ SDValue LoongArchTargetLowering::lowerFRAMEADDR(SDValue Op,
15331533 while (Depth--) {
15341534 int Offset = -(GRLenInBytes * 2 );
15351535 SDValue Ptr = DAG.getNode (ISD::ADD, DL, VT, FrameAddr,
1536- DAG.getIntPtrConstant (Offset, DL));
1536+ DAG.getSignedConstant (Offset, DL, VT ));
15371537 FrameAddr =
15381538 DAG.getLoad (VT, DL, DAG.getEntryNode (), Ptr, MachinePointerInfo ());
15391539 }
@@ -2548,7 +2548,8 @@ SDValue LoongArchTargetLowering::lowerShiftLeftParts(SDValue Op,
25482548
25492549 SDValue Zero = DAG.getConstant (0 , DL, VT);
25502550 SDValue One = DAG.getConstant (1 , DL, VT);
2551- SDValue MinusGRLen = DAG.getConstant (-(int )Subtarget.getGRLen (), DL, VT);
2551+ SDValue MinusGRLen =
2552+ DAG.getSignedConstant (-(int )Subtarget.getGRLen (), DL, VT);
25522553 SDValue GRLenMinus1 = DAG.getConstant (Subtarget.getGRLen () - 1 , DL, VT);
25532554 SDValue ShamtMinusGRLen = DAG.getNode (ISD::ADD, DL, VT, Shamt, MinusGRLen);
25542555 SDValue GRLenMinus1Shamt = DAG.getNode (ISD::XOR, DL, VT, Shamt, GRLenMinus1);
@@ -2599,7 +2600,8 @@ SDValue LoongArchTargetLowering::lowerShiftRightParts(SDValue Op,
25992600
26002601 SDValue Zero = DAG.getConstant (0 , DL, VT);
26012602 SDValue One = DAG.getConstant (1 , DL, VT);
2602- SDValue MinusGRLen = DAG.getConstant (-(int )Subtarget.getGRLen (), DL, VT);
2603+ SDValue MinusGRLen =
2604+ DAG.getSignedConstant (-(int )Subtarget.getGRLen (), DL, VT);
26032605 SDValue GRLenMinus1 = DAG.getConstant (Subtarget.getGRLen () - 1 , DL, VT);
26042606 SDValue ShamtMinusGRLen = DAG.getNode (ISD::ADD, DL, VT, Shamt, MinusGRLen);
26052607 SDValue GRLenMinus1Shamt = DAG.getNode (ISD::XOR, DL, VT, Shamt, GRLenMinus1);
@@ -6123,17 +6125,17 @@ void LoongArchTargetLowering::LowerAsmOperandForConstraint(
61236125 if (auto *C = dyn_cast<ConstantSDNode>(Op)) {
61246126 uint64_t CVal = C->getSExtValue ();
61256127 if (isInt<16 >(CVal))
6126- Ops.push_back (
6127- DAG. getTargetConstant (CVal, SDLoc (Op), Subtarget.getGRLenVT ()));
6128+ Ops.push_back (DAG. getSignedTargetConstant (CVal, SDLoc (Op),
6129+ Subtarget.getGRLenVT ()));
61286130 }
61296131 return ;
61306132 case ' I' :
61316133 // Validate & create a 12-bit signed immediate operand.
61326134 if (auto *C = dyn_cast<ConstantSDNode>(Op)) {
61336135 uint64_t CVal = C->getSExtValue ();
61346136 if (isInt<12 >(CVal))
6135- Ops.push_back (
6136- DAG. getTargetConstant (CVal, SDLoc (Op), Subtarget.getGRLenVT ()));
6137+ Ops.push_back (DAG. getSignedTargetConstant (CVal, SDLoc (Op),
6138+ Subtarget.getGRLenVT ()));
61376139 }
61386140 return ;
61396141 case ' J' :
0 commit comments