//===- NVPTXIntrinsics.td - PTX Intrinsics Instructions -------*- tblgen -*-==//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

def immFloat0 : PatLeaf<(fpimm), [{
    float f = (float)N->getValueAPF().convertToFloat();
    return (f==0.0f);
}]>;

def immFloat1 : PatLeaf<(fpimm), [{
    float f = (float)N->getValueAPF().convertToFloat();
    return (f==1.0f);
}]>;

def immDouble0 : PatLeaf<(fpimm), [{
    double d = (double)N->getValueAPF().convertToDouble();
    return (d==0.0);
}]>;

def immDouble1 : PatLeaf<(fpimm), [{
    double d = (double)N->getValueAPF().convertToDouble();
    return (d==1.0);
}]>;

def AS_match {
  code generic = [{
   return ChkMemSDNodeAddressSpace(N, llvm::ADDRESS_SPACE_GENERIC);
  }];
  code shared = [{
   return ChkMemSDNodeAddressSpace(N, llvm::ADDRESS_SPACE_SHARED);
  }];
  code global = [{
   return ChkMemSDNodeAddressSpace(N, llvm::ADDRESS_SPACE_GLOBAL);
  }];
}

// A node that will be replaced with the current PTX version.
class PTX {
  SDNodeXForm PTXVerXform = SDNodeXForm<imm, [{
    return getI32Imm(Subtarget->getPTXVersion(), SDLoc(N));
  }]>;
  // (i32 0) will be XForm'ed to the currently used PTX version.
  dag version = (PTXVerXform (i32 0));
}
def ptx : PTX;

// Generates list of n sequential register names.
// E.g. RegNames<3,"r">.ret -> ["r0", "r1", "r2" ]
class RegSeq<int n, string prefix> {
  list<string> ret = !if(n, !listconcat(RegSeq<!add(n,-1), prefix>.ret,
                                        [prefix # !add(n, -1)]),
                            []);
}

class THREADMASK_INFO<bit sync> {
  list<bit> ret = !if(sync, [0,1], [0]);
}

//-----------------------------------
// Synchronization and shuffle functions
//-----------------------------------
let isConvergent = 1 in {
def INT_BARRIER0 : NVPTXInst<(outs), (ins),
                  "bar.sync \t0;",
      [(int_nvvm_barrier0)]>;
def INT_BARRIERN : NVPTXInst<(outs), (ins Int32Regs:$src1),
                  "bar.sync \t$src1;",
      [(int_nvvm_barrier_n Int32Regs:$src1)]>;
def INT_BARRIER : NVPTXInst<(outs), (ins Int32Regs:$src1, Int32Regs:$src2),
                  "bar.sync \t$src1, $src2;",
      [(int_nvvm_barrier Int32Regs:$src1, Int32Regs:$src2)]>;
def INT_BARRIER0_POPC : NVPTXInst<(outs Int32Regs:$dst), (ins Int32Regs:$pred),
  !strconcat("{{ \n\t",
             ".reg .pred \t%p1; \n\t",
             "setp.ne.u32 \t%p1, $pred, 0; \n\t",
             "bar.red.popc.u32 \t$dst, 0, %p1; \n\t",
             "}}"),
      [(set Int32Regs:$dst, (int_nvvm_barrier0_popc Int32Regs:$pred))]>;
def INT_BARRIER0_AND : NVPTXInst<(outs Int32Regs:$dst), (ins Int32Regs:$pred),
  !strconcat("{{ \n\t",
             ".reg .pred \t%p1; \n\t",
             ".reg .pred \t%p2; \n\t",
             "setp.ne.u32 \t%p1, $pred, 0; \n\t",
             "bar.red.and.pred \t%p2, 0, %p1; \n\t",
             "selp.u32 \t$dst, 1, 0, %p2; \n\t",
             "}}"),
      [(set Int32Regs:$dst, (int_nvvm_barrier0_and Int32Regs:$pred))]>;
def INT_BARRIER0_OR : NVPTXInst<(outs Int32Regs:$dst), (ins Int32Regs:$pred),
  !strconcat("{{ \n\t",
             ".reg .pred \t%p1; \n\t",
             ".reg .pred \t%p2; \n\t",
             "setp.ne.u32 \t%p1, $pred, 0; \n\t",
             "bar.red.or.pred \t%p2, 0, %p1; \n\t",
             "selp.u32 \t$dst, 1, 0, %p2; \n\t",
             "}}"),
      [(set Int32Regs:$dst, (int_nvvm_barrier0_or Int32Regs:$pred))]>;

def INT_BAR_SYNC : NVPTXInst<(outs), (ins i32imm:$i), "bar.sync \t$i;",
                             [(int_nvvm_bar_sync imm:$i)]>;

def INT_BAR_WARP_SYNC_I : NVPTXInst<(outs), (ins i32imm:$i), "bar.warp.sync \t$i;",
                             [(int_nvvm_bar_warp_sync imm:$i)]>,
        Requires<[hasPTX60, hasSM30]>;
def INT_BAR_WARP_SYNC_R : NVPTXInst<(outs), (ins Int32Regs:$i), "bar.warp.sync \t$i;",
                             [(int_nvvm_bar_warp_sync Int32Regs:$i)]>,
        Requires<[hasPTX60, hasSM30]>;

def INT_BARRIER_SYNC_I : NVPTXInst<(outs), (ins i32imm:$i), "barrier.sync \t$i;",
                                   [(int_nvvm_barrier_sync imm:$i)]>,
        Requires<[hasPTX60, hasSM30]>;
def INT_BARRIER_SYNC_R : NVPTXInst<(outs), (ins Int32Regs:$i), "barrier.sync \t$i;",
                                   [(int_nvvm_barrier_sync Int32Regs:$i)]>,
        Requires<[hasPTX60, hasSM30]>;

def INT_BARRIER_SYNC_CNT_RR : NVPTXInst<(outs), (ins Int32Regs:$id, Int32Regs:$cnt),
                 "barrier.sync \t$id, $cnt;",
                 [(int_nvvm_barrier_sync_cnt Int32Regs:$id, Int32Regs:$cnt)]>,
        Requires<[hasPTX60, hasSM30]>;
def INT_BARRIER_SYNC_CNT_RI : NVPTXInst<(outs), (ins Int32Regs:$id, i32imm:$cnt),
                 "barrier.sync \t$id, $cnt;",
                 [(int_nvvm_barrier_sync_cnt Int32Regs:$id, imm:$cnt)]>,
        Requires<[hasPTX60, hasSM30]>;
def INT_BARRIER_SYNC_CNT_IR : NVPTXInst<(outs), (ins i32imm:$id, Int32Regs:$cnt),
                 "barrier.sync \t$id, $cnt;",
                 [(int_nvvm_barrier_sync_cnt imm:$id, Int32Regs:$cnt)]>,
        Requires<[hasPTX60, hasSM30]>;
def INT_BARRIER_SYNC_CNT_II : NVPTXInst<(outs), (ins i32imm:$id, i32imm:$cnt),
                 "barrier.sync \t$id, $cnt;",
                 [(int_nvvm_barrier_sync_cnt imm:$id, imm:$cnt)]>,
        Requires<[hasPTX60, hasSM30]>;

class SHFL_INSTR<bit sync, string mode, string reg, bit return_pred,
                 bit offset_imm, bit mask_imm, bit threadmask_imm>
      : NVPTXInst<(outs), (ins), "?", []> {
  NVPTXRegClass rc = !cond(
    !eq(reg, "i32"): Int32Regs,
    !eq(reg, "f32"): Float32Regs);
  string IntrName = "int_nvvm_shfl_"
                    # !if(sync, "sync_", "")
                    # mode
                    # "_" # reg
                    # !if(return_pred, "p", "");
  Intrinsic Intr = !cast<Intrinsic>(IntrName);
  let InOperandList = !con(
    !if(sync,
        !dag(ins, !if(threadmask_imm, [i32imm], [Int32Regs]), ["threadmask"]),
        (ins)),
    (ins rc:$src),
    !dag(ins, !if(offset_imm, [i32imm], [Int32Regs]), ["offset"]),
    !dag(ins, !if(mask_imm, [i32imm], [Int32Regs]), ["mask"])
    );
  let OutOperandList = !if(return_pred, (outs rc:$dst, Int1Regs:$pred), (outs rc:$dst));
  let AsmString = "shfl."
     # !if(sync, "sync.", "")
     # mode # ".b32\t"
     # "$dst"
     # !if(return_pred, "|$pred", "") # ", "
     # "$src, $offset, $mask"
     # !if(sync, ", $threadmask", "")
     # ";"
     ;
  let Pattern = [!con(
      !foreach(tmp, OutOperandList,
             !subst(outs, set,
             !subst(i32imm, imm, tmp))),
      (set !foreach(tmp, InOperandList,
             !subst(ins, Intr,
             !subst(i32imm, imm, tmp))))
  )];
}

foreach sync = [0, 1] in {
  foreach mode = ["up", "down", "bfly", "idx"] in {
    foreach regclass = ["i32", "f32"] in {
      foreach return_pred = [0, 1] in {
        foreach offset_imm = [0, 1] in {
          foreach mask_imm = [0, 1] in {
            foreach threadmask_imm = THREADMASK_INFO<sync>.ret in {
              def : SHFL_INSTR<sync, mode, regclass, return_pred,
                               offset_imm, mask_imm, threadmask_imm>,
                    Requires<!if(sync, [hasSM30], [hasSM30, hasSHFL])>;
            }
          }
        }
      }
    }
  }
}

// vote.{all,any,uni,ballot}
multiclass VOTE<NVPTXRegClass regclass, string mode, Intrinsic IntOp> {
  def : NVPTXInst<(outs regclass:$dest), (ins Int1Regs:$pred),
              "vote." # mode # " \t$dest, $pred;",
              [(set regclass:$dest, (IntOp Int1Regs:$pred))]>,
        Requires<[hasPTX60, hasSM30]>;
}

defm VOTE_ALL : VOTE<Int1Regs, "all.pred", int_nvvm_vote_all>;
defm VOTE_ANY : VOTE<Int1Regs, "any.pred", int_nvvm_vote_any>;
defm VOTE_UNI : VOTE<Int1Regs, "uni.pred", int_nvvm_vote_uni>;
defm VOTE_BALLOT : VOTE<Int32Regs, "ballot.b32", int_nvvm_vote_ballot>;

// vote.sync.{all,any,uni,ballot}
multiclass VOTE_SYNC<NVPTXRegClass regclass, string mode, Intrinsic IntOp> {
  def i : NVPTXInst<(outs regclass:$dest), (ins i32imm:$mask, Int1Regs:$pred),
              "vote.sync." # mode # " \t$dest, $pred, $mask;",
              [(set regclass:$dest, (IntOp imm:$mask, Int1Regs:$pred))]>,
          Requires<[hasPTX60, hasSM30]>;
  def r : NVPTXInst<(outs regclass:$dest), (ins Int32Regs:$mask, Int1Regs:$pred),
              "vote.sync." # mode #" \t$dest, $pred, $mask;",
              [(set regclass:$dest, (IntOp Int32Regs:$mask, Int1Regs:$pred))]>,
          Requires<[hasPTX60, hasSM30]>;
}

defm VOTE_SYNC_ALL : VOTE_SYNC<Int1Regs, "all.pred", int_nvvm_vote_all_sync>;
defm VOTE_SYNC_ANY : VOTE_SYNC<Int1Regs, "any.pred", int_nvvm_vote_any_sync>;
defm VOTE_SYNC_UNI : VOTE_SYNC<Int1Regs, "uni.pred", int_nvvm_vote_uni_sync>;
defm VOTE_SYNC_BALLOT : VOTE_SYNC<Int32Regs, "ballot.b32", int_nvvm_vote_ballot_sync>;

multiclass MATCH_ANY_SYNC<NVPTXRegClass regclass, string ptxtype, Intrinsic IntOp,
                          Operand ImmOp> {
  def ii : NVPTXInst<(outs regclass:$dest), (ins i32imm:$mask, ImmOp:$value),
              "match.any.sync." # ptxtype # " \t$dest, $value, $mask;",
              [(set regclass:$dest, (IntOp imm:$mask, imm:$value))]>,
           Requires<[hasPTX60, hasSM70]>;
  def ir : NVPTXInst<(outs regclass:$dest), (ins Int32Regs:$mask, ImmOp:$value),
              "match.any.sync." # ptxtype # " \t$dest, $value, $mask;",
              [(set regclass:$dest, (IntOp Int32Regs:$mask, imm:$value))]>,
           Requires<[hasPTX60, hasSM70]>;
  def ri : NVPTXInst<(outs regclass:$dest), (ins i32imm:$mask, regclass:$value),
              "match.any.sync." # ptxtype # " \t$dest, $value, $mask;",
              [(set regclass:$dest, (IntOp imm:$mask, regclass:$value))]>,
           Requires<[hasPTX60, hasSM70]>;
  def rr : NVPTXInst<(outs regclass:$dest), (ins Int32Regs:$mask, regclass:$value),
              "match.any.sync." # ptxtype # " \t$dest, $value, $mask;",
              [(set regclass:$dest, (IntOp Int32Regs:$mask, regclass:$value))]>,
           Requires<[hasPTX60, hasSM70]>;
}

defm MATCH_ANY_SYNC_32 : MATCH_ANY_SYNC<Int32Regs, "b32", int_nvvm_match_any_sync_i32,
                                        i32imm>;
defm MATCH_ANY_SYNC_64 : MATCH_ANY_SYNC<Int64Regs, "b64", int_nvvm_match_any_sync_i64,
                                        i64imm>;

multiclass MATCH_ALLP_SYNC<NVPTXRegClass regclass, string ptxtype, Intrinsic IntOp,
                          Operand ImmOp> {
  def ii : NVPTXInst<(outs regclass:$dest, Int1Regs:$pred),
                     (ins i32imm:$mask, ImmOp:$value),
              "match.all.sync." # ptxtype # " \t$dest|$pred, $value, $mask;",
              [(set regclass:$dest, Int1Regs:$pred, (IntOp imm:$mask, imm:$value))]>,
           Requires<[hasPTX60, hasSM70]>;
  def ir : NVPTXInst<(outs regclass:$dest, Int1Regs:$pred),
                     (ins Int32Regs:$mask, ImmOp:$value),
              "match.all.sync." # ptxtype # " \t$dest|$pred, $value, $mask;",
              [(set regclass:$dest, Int1Regs:$pred, (IntOp Int32Regs:$mask, imm:$value))]>,
           Requires<[hasPTX60, hasSM70]>;
  def ri : NVPTXInst<(outs regclass:$dest, Int1Regs:$pred),
                     (ins i32imm:$mask, regclass:$value),
              "match.all.sync." # ptxtype # " \t$dest|$pred, $value, $mask;",
              [(set regclass:$dest, Int1Regs:$pred, (IntOp imm:$mask, regclass:$value))]>,
           Requires<[hasPTX60, hasSM70]>;
  def rr : NVPTXInst<(outs regclass:$dest, Int1Regs:$pred),
                     (ins Int32Regs:$mask, regclass:$value),
              "match.all.sync." # ptxtype # " \t$dest|$pred, $value, $mask;",
              [(set regclass:$dest, Int1Regs:$pred, (IntOp Int32Regs:$mask, regclass:$value))]>,
           Requires<[hasPTX60, hasSM70]>;
}
defm MATCH_ALLP_SYNC_32 : MATCH_ALLP_SYNC<Int32Regs, "b32", int_nvvm_match_all_sync_i32p,
                                         i32imm>;
defm MATCH_ALLP_SYNC_64 : MATCH_ALLP_SYNC<Int64Regs, "b64", int_nvvm_match_all_sync_i64p,
                                         i64imm>;

} // isConvergent = 1

//-----------------------------------
// Explicit Memory Fence Functions
//-----------------------------------
class MEMBAR<string StrOp, Intrinsic IntOP> :
              NVPTXInst<(outs), (ins),
            StrOp, [(IntOP)]>;

def INT_MEMBAR_CTA : MEMBAR<"membar.cta;", int_nvvm_membar_cta>;
def INT_MEMBAR_GL  : MEMBAR<"membar.gl;",  int_nvvm_membar_gl>;
def INT_MEMBAR_SYS : MEMBAR<"membar.sys;", int_nvvm_membar_sys>;


//-----------------------------------
// Math Functions
//-----------------------------------

// Map min(1.0, max(0.0, x)) to sat(x)
// Note that max(0.0, min(x, 1.0)) cannot be mapped to sat(x) because when x is
// NaN
// max(0.0, min(x, 1.0)) is 1.0 while sat(x) is 0.
// Same story for fmax, fmin.

def : Pat<(int_nvvm_fmin_f immFloat1,
            (int_nvvm_fmax_f immFloat0, Float32Regs:$a)),
          (CVT_f32_f32 Float32Regs:$a, CvtSAT)>;
def : Pat<(int_nvvm_fmin_f immFloat1,
            (int_nvvm_fmax_f Float32Regs:$a, immFloat0)),
          (CVT_f32_f32 Float32Regs:$a, CvtSAT)>;
def : Pat<(int_nvvm_fmin_f
            (int_nvvm_fmax_f immFloat0, Float32Regs:$a), immFloat1),
          (CVT_f32_f32 Float32Regs:$a, CvtSAT)>;
def : Pat<(int_nvvm_fmin_f
            (int_nvvm_fmax_f Float32Regs:$a, immFloat0), immFloat1),
          (CVT_f32_f32 Float32Regs:$a, CvtSAT)>;

def : Pat<(int_nvvm_fmin_d immDouble1,
            (int_nvvm_fmax_d immDouble0, Float64Regs:$a)),
          (CVT_f64_f64 Float64Regs:$a, CvtSAT)>;
def : Pat<(int_nvvm_fmin_d immDouble1,
            (int_nvvm_fmax_d Float64Regs:$a, immDouble0)),
          (CVT_f64_f64 Float64Regs:$a, CvtSAT)>;
def : Pat<(int_nvvm_fmin_d
            (int_nvvm_fmax_d immDouble0, Float64Regs:$a), immDouble1),
          (CVT_f64_f64 Float64Regs:$a, CvtSAT)>;
def : Pat<(int_nvvm_fmin_d
            (int_nvvm_fmax_d Float64Regs:$a, immDouble0), immDouble1),
          (CVT_f64_f64 Float64Regs:$a, CvtSAT)>;


// We need a full string for OpcStr here because we need to deal with case like
// INT_PTX_RECIP.
class F_MATH_1<string OpcStr, NVPTXRegClass target_regclass,
  NVPTXRegClass src_regclass, Intrinsic IntOP>
            : NVPTXInst<(outs target_regclass:$dst), (ins src_regclass:$src0),
            OpcStr,
        [(set target_regclass:$dst, (IntOP src_regclass:$src0))]>;

// We need a full string for OpcStr here because we need to deal with the case
// like INT_PTX_NATIVE_POWR_F.
class F_MATH_2<string OpcStr, NVPTXRegClass t_regclass,
  NVPTXRegClass s0_regclass, NVPTXRegClass s1_regclass, Intrinsic IntOP>
            : NVPTXInst<(outs t_regclass:$dst),
              (ins s0_regclass:$src0, s1_regclass:$src1),
            OpcStr,
        [(set t_regclass:$dst, (IntOP s0_regclass:$src0, s1_regclass:$src1))]>;

class F_MATH_3<string OpcStr, NVPTXRegClass t_regclass,
  NVPTXRegClass s0_regclass, NVPTXRegClass s1_regclass,
  NVPTXRegClass s2_regclass, Intrinsic IntOP>
            : NVPTXInst<(outs t_regclass:$dst),
              (ins s0_regclass:$src0, s1_regclass:$src1, s2_regclass:$src2),
            OpcStr,
        [(set t_regclass:$dst,
          (IntOP s0_regclass:$src0, s1_regclass:$src1, s2_regclass:$src2))]>;

//
// MISC
//

def INT_NVVM_PRMT : F_MATH_3<"prmt.b32 \t$dst, $src0, $src1, $src2;", Int32Regs,
  Int32Regs, Int32Regs, Int32Regs, int_nvvm_prmt>;

//
// Min Max
//

def INT_NVVM_FMIN_F : F_MATH_2<"min.f32 \t$dst, $src0, $src1;", Float32Regs,
  Float32Regs, Float32Regs, int_nvvm_fmin_f>;
def INT_NVVM_FMIN_FTZ_F : F_MATH_2<"min.ftz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_fmin_ftz_f>;

def INT_NVVM_FMAX_F : F_MATH_2<"max.f32 \t$dst, $src0, $src1;", Float32Regs,
  Float32Regs, Float32Regs, int_nvvm_fmax_f>;
def INT_NVVM_FMAX_FTZ_F : F_MATH_2<"max.ftz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_fmax_ftz_f>;

def INT_NVVM_FMIN_D : F_MATH_2<"min.f64 \t$dst, $src0, $src1;", Float64Regs,
  Float64Regs, Float64Regs, int_nvvm_fmin_d>;
def INT_NVVM_FMAX_D : F_MATH_2<"max.f64 \t$dst, $src0, $src1;", Float64Regs,
  Float64Regs, Float64Regs, int_nvvm_fmax_d>;


//
// Multiplication
//

def INT_NVVM_MULHI_I : F_MATH_2<"mul.hi.s32 \t$dst, $src0, $src1;", Int32Regs,
  Int32Regs, Int32Regs, int_nvvm_mulhi_i>;
def INT_NVVM_MULHI_UI : F_MATH_2<"mul.hi.u32 \t$dst, $src0, $src1;", Int32Regs,
  Int32Regs, Int32Regs, int_nvvm_mulhi_ui>;

def INT_NVVM_MULHI_LL : F_MATH_2<"mul.hi.s64 \t$dst, $src0, $src1;", Int64Regs,
  Int64Regs, Int64Regs, int_nvvm_mulhi_ll>;
def INT_NVVM_MULHI_ULL : F_MATH_2<"mul.hi.u64 \t$dst, $src0, $src1;", Int64Regs,
  Int64Regs, Int64Regs, int_nvvm_mulhi_ull>;

def INT_NVVM_MUL_RN_FTZ_F : F_MATH_2<"mul.rn.ftz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rn_ftz_f>;
def INT_NVVM_MUL_RN_F : F_MATH_2<"mul.rn.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rn_f>;
def INT_NVVM_MUL_RZ_FTZ_F : F_MATH_2<"mul.rz.ftz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rz_ftz_f>;
def INT_NVVM_MUL_RZ_F : F_MATH_2<"mul.rz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rz_f>;
def INT_NVVM_MUL_RM_FTZ_F : F_MATH_2<"mul.rm.ftz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rm_ftz_f>;
def INT_NVVM_MUL_RM_F : F_MATH_2<"mul.rm.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rm_f>;
def INT_NVVM_MUL_RP_FTZ_F : F_MATH_2<"mul.rp.ftz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rp_ftz_f>;
def INT_NVVM_MUL_RP_F : F_MATH_2<"mul.rp.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_mul_rp_f>;

def INT_NVVM_MUL_RN_D : F_MATH_2<"mul.rn.f64 \t$dst, $src0, $src1;",
  Float64Regs, Float64Regs, Float64Regs, int_nvvm_mul_rn_d>;
def INT_NVVM_MUL_RZ_D : F_MATH_2<"mul.rz.f64 \t$dst, $src0, $src1;",
  Float64Regs, Float64Regs, Float64Regs, int_nvvm_mul_rz_d>;
def INT_NVVM_MUL_RM_D : F_MATH_2<"mul.rm.f64 \t$dst, $src0, $src1;",
  Float64Regs, Float64Regs, Float64Regs, int_nvvm_mul_rm_d>;
def INT_NVVM_MUL_RP_D : F_MATH_2<"mul.rp.f64 \t$dst, $src0, $src1;",
  Float64Regs, Float64Regs, Float64Regs, int_nvvm_mul_rp_d>;

def INT_NVVM_MUL24_I : F_MATH_2<"mul24.lo.s32 \t$dst, $src0, $src1;",
  Int32Regs, Int32Regs, Int32Regs, int_nvvm_mul24_i>;
def INT_NVVM_MUL24_UI : F_MATH_2<"mul24.lo.u32 \t$dst, $src0, $src1;",
  Int32Regs, Int32Regs, Int32Regs, int_nvvm_mul24_ui>;

//
// Div
//

def INT_NVVM_DIV_APPROX_FTZ_F
  : F_MATH_2<"div.approx.ftz.f32 \t$dst, $src0, $src1;", Float32Regs,
    Float32Regs, Float32Regs, int_nvvm_div_approx_ftz_f>;
def INT_NVVM_DIV_APPROX_F : F_MATH_2<"div.approx.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_approx_f>;

def INT_NVVM_DIV_RN_FTZ_F : F_MATH_2<"div.rn.ftz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rn_ftz_f>;
def INT_NVVM_DIV_RN_F     : F_MATH_2<"div.rn.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rn_f>;
def INT_NVVM_DIV_RZ_FTZ_F : F_MATH_2<"div.rz.ftz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rz_ftz_f>;
def INT_NVVM_DIV_RZ_F     : F_MATH_2<"div.rz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rz_f>;
def INT_NVVM_DIV_RM_FTZ_F : F_MATH_2<"div.rm.ftz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rm_ftz_f>;
def INT_NVVM_DIV_RM_F     : F_MATH_2<"div.rm.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rm_f>;
def INT_NVVM_DIV_RP_FTZ_F : F_MATH_2<"div.rp.ftz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rp_ftz_f>;
def INT_NVVM_DIV_RP_F     : F_MATH_2<"div.rp.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_div_rp_f>;

def INT_NVVM_DIV_RN_D : F_MATH_2<"div.rn.f64 \t$dst, $src0, $src1;",
  Float64Regs, Float64Regs, Float64Regs, int_nvvm_div_rn_d>;
def INT_NVVM_DIV_RZ_D : F_MATH_2<"div.rz.f64 \t$dst, $src0, $src1;",
  Float64Regs, Float64Regs, Float64Regs, int_nvvm_div_rz_d>;
def INT_NVVM_DIV_RM_D : F_MATH_2<"div.rm.f64 \t$dst, $src0, $src1;",
  Float64Regs, Float64Regs, Float64Regs, int_nvvm_div_rm_d>;
def INT_NVVM_DIV_RP_D : F_MATH_2<"div.rp.f64 \t$dst, $src0, $src1;",
  Float64Regs, Float64Regs, Float64Regs, int_nvvm_div_rp_d>;

//
// Sad
//

def INT_NVVM_SAD_I : F_MATH_3<"sad.s32 \t$dst, $src0, $src1, $src2;",
  Int32Regs, Int32Regs, Int32Regs, Int32Regs, int_nvvm_sad_i>;
def INT_NVVM_SAD_UI : F_MATH_3<"sad.u32 \t$dst, $src0, $src1, $src2;",
  Int32Regs, Int32Regs, Int32Regs, Int32Regs, int_nvvm_sad_ui>;

//
// Floor  Ceil
//

def : Pat<(int_nvvm_floor_ftz_f Float32Regs:$a),
          (CVT_f32_f32 Float32Regs:$a, CvtRMI_FTZ)>;
def : Pat<(int_nvvm_floor_f Float32Regs:$a),
          (CVT_f32_f32 Float32Regs:$a, CvtRMI)>;
def : Pat<(int_nvvm_floor_d Float64Regs:$a),
          (CVT_f64_f64 Float64Regs:$a, CvtRMI)>;

def : Pat<(int_nvvm_ceil_ftz_f Float32Regs:$a),
          (CVT_f32_f32 Float32Regs:$a, CvtRPI_FTZ)>;
def : Pat<(int_nvvm_ceil_f Float32Regs:$a),
          (CVT_f32_f32 Float32Regs:$a, CvtRPI)>;
def : Pat<(int_nvvm_ceil_d Float64Regs:$a),
          (CVT_f64_f64 Float64Regs:$a, CvtRPI)>;

//
// Abs
//

def INT_NVVM_FABS_FTZ_F : F_MATH_1<"abs.ftz.f32 \t$dst, $src0;", Float32Regs,
  Float32Regs, int_nvvm_fabs_ftz_f>;
def INT_NVVM_FABS_F : F_MATH_1<"abs.f32 \t$dst, $src0;", Float32Regs,
  Float32Regs, int_nvvm_fabs_f>;

def INT_NVVM_FABS_D : F_MATH_1<"abs.f64 \t$dst, $src0;", Float64Regs,
  Float64Regs, int_nvvm_fabs_d>;

//
// Round
//

def : Pat<(int_nvvm_round_ftz_f Float32Regs:$a),
          (CVT_f32_f32 Float32Regs:$a, CvtRNI_FTZ)>;
def : Pat<(int_nvvm_round_f Float32Regs:$a),
          (CVT_f32_f32 Float32Regs:$a, CvtRNI)>;
def : Pat<(int_nvvm_round_d Float64Regs:$a),
          (CVT_f64_f64 Float64Regs:$a, CvtRNI)>;

//
// Trunc
//

def : Pat<(int_nvvm_trunc_ftz_f Float32Regs:$a),
          (CVT_f32_f32 Float32Regs:$a, CvtRZI_FTZ)>;
def : Pat<(int_nvvm_trunc_f Float32Regs:$a),
          (CVT_f32_f32 Float32Regs:$a, CvtRZI)>;
def : Pat<(int_nvvm_trunc_d Float64Regs:$a),
          (CVT_f64_f64 Float64Regs:$a, CvtRZI)>;

//
// Saturate
//

def : Pat<(int_nvvm_saturate_ftz_f Float32Regs:$a),
          (CVT_f32_f32 Float32Regs:$a, CvtSAT_FTZ)>;
def : Pat<(int_nvvm_saturate_f Float32Regs:$a),
          (CVT_f32_f32 Float32Regs:$a, CvtSAT)>;
def : Pat<(int_nvvm_saturate_d Float64Regs:$a),
          (CVT_f64_f64 Float64Regs:$a, CvtSAT)>;

//
// Exp2  Log2
//

def INT_NVVM_EX2_APPROX_FTZ_F : F_MATH_1<"ex2.approx.ftz.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_ex2_approx_ftz_f>;
def INT_NVVM_EX2_APPROX_F : F_MATH_1<"ex2.approx.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_ex2_approx_f>;
def INT_NVVM_EX2_APPROX_D : F_MATH_1<"ex2.approx.f64 \t$dst, $src0;",
  Float64Regs, Float64Regs, int_nvvm_ex2_approx_d>;

def INT_NVVM_LG2_APPROX_FTZ_F : F_MATH_1<"lg2.approx.ftz.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_lg2_approx_ftz_f>;
def INT_NVVM_LG2_APPROX_F : F_MATH_1<"lg2.approx.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_lg2_approx_f>;
def INT_NVVM_LG2_APPROX_D : F_MATH_1<"lg2.approx.f64 \t$dst, $src0;",
  Float64Regs, Float64Regs, int_nvvm_lg2_approx_d>;

//
// Sin  Cos
//

def INT_NVVM_SIN_APPROX_FTZ_F : F_MATH_1<"sin.approx.ftz.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_sin_approx_ftz_f>;
def INT_NVVM_SIN_APPROX_F : F_MATH_1<"sin.approx.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_sin_approx_f>;

def INT_NVVM_COS_APPROX_FTZ_F : F_MATH_1<"cos.approx.ftz.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_cos_approx_ftz_f>;
def INT_NVVM_COS_APPROX_F : F_MATH_1<"cos.approx.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_cos_approx_f>;

//
// Fma
//

def INT_NVVM_FMA_RN_FTZ_F
  : F_MATH_3<"fma.rn.ftz.f32 \t$dst, $src0, $src1, $src2;", Float32Regs,
    Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rn_ftz_f>;
def INT_NVVM_FMA_RN_F : F_MATH_3<"fma.rn.f32 \t$dst, $src0, $src1, $src2;",
  Float32Regs, Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rn_f>;
def INT_NVVM_FMA_RZ_FTZ_F
  : F_MATH_3<"fma.rz.ftz.f32 \t$dst, $src0, $src1, $src2;", Float32Regs,
    Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rz_ftz_f>;
def INT_NVVM_FMA_RZ_F : F_MATH_3<"fma.rz.f32 \t$dst, $src0, $src1, $src2;",
  Float32Regs, Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rz_f>;
def INT_NVVM_FMA_RM_FTZ_F
  : F_MATH_3<"fma.rm.ftz.f32 \t$dst, $src0, $src1, $src2;", Float32Regs,
    Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rm_ftz_f>;
def INT_NVVM_FMA_RM_F : F_MATH_3<"fma.rm.f32 \t$dst, $src0, $src1, $src2;",
  Float32Regs, Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rm_f>;
def INT_NVVM_FMA_RP_FTZ_F
  : F_MATH_3<"fma.rp.ftz.f32 \t$dst, $src0, $src1, $src2;", Float32Regs,
    Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rp_ftz_f>;
def INT_NVVM_FMA_RP_F : F_MATH_3<"fma.rp.f32 \t$dst, $src0, $src1, $src2;",
  Float32Regs, Float32Regs, Float32Regs, Float32Regs, int_nvvm_fma_rp_f>;

def INT_NVVM_FMA_RN_D : F_MATH_3<"fma.rn.f64 \t$dst, $src0, $src1, $src2;",
  Float64Regs, Float64Regs, Float64Regs, Float64Regs, int_nvvm_fma_rn_d>;
def INT_NVVM_FMA_RZ_D : F_MATH_3<"fma.rz.f64 \t$dst, $src0, $src1, $src2;",
  Float64Regs, Float64Regs, Float64Regs, Float64Regs, int_nvvm_fma_rz_d>;
def INT_NVVM_FMA_RM_D : F_MATH_3<"fma.rm.f64 \t$dst, $src0, $src1, $src2;",
  Float64Regs, Float64Regs, Float64Regs, Float64Regs, int_nvvm_fma_rm_d>;
def INT_NVVM_FMA_RP_D : F_MATH_3<"fma.rp.f64 \t$dst, $src0, $src1, $src2;",
  Float64Regs, Float64Regs, Float64Regs, Float64Regs, int_nvvm_fma_rp_d>;

//
// Rcp
//

def INT_NVVM_RCP_RN_FTZ_F : F_MATH_1<"rcp.rn.ftz.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_rcp_rn_ftz_f>;
def INT_NVVM_RCP_RN_F : F_MATH_1<"rcp.rn.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_rcp_rn_f>;
def INT_NVVM_RCP_RZ_FTZ_F : F_MATH_1<"rcp.rz.ftz.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_rcp_rz_ftz_f>;
def INT_NVVM_RCP_RZ_F : F_MATH_1<"rcp.rz.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_rcp_rz_f>;
def INT_NVVM_RCP_RM_FTZ_F : F_MATH_1<"rcp.rm.ftz.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_rcp_rm_ftz_f>;
def INT_NVVM_RCP_RM_F : F_MATH_1<"rcp.rm.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_rcp_rm_f>;
def INT_NVVM_RCP_RP_FTZ_F : F_MATH_1<"rcp.rp.ftz.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_rcp_rp_ftz_f>;
def INT_NVVM_RCP_RP_F : F_MATH_1<"rcp.rp.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_rcp_rp_f>;

def INT_NVVM_RCP_RN_D : F_MATH_1<"rcp.rn.f64 \t$dst, $src0;", Float64Regs,
  Float64Regs, int_nvvm_rcp_rn_d>;
def INT_NVVM_RCP_RZ_D : F_MATH_1<"rcp.rz.f64 \t$dst, $src0;", Float64Regs,
  Float64Regs, int_nvvm_rcp_rz_d>;
def INT_NVVM_RCP_RM_D : F_MATH_1<"rcp.rm.f64 \t$dst, $src0;", Float64Regs,
  Float64Regs, int_nvvm_rcp_rm_d>;
def INT_NVVM_RCP_RP_D : F_MATH_1<"rcp.rp.f64 \t$dst, $src0;", Float64Regs,
  Float64Regs, int_nvvm_rcp_rp_d>;

def INT_NVVM_RCP_APPROX_FTZ_D : F_MATH_1<"rcp.approx.ftz.f64 \t$dst, $src0;",
  Float64Regs, Float64Regs, int_nvvm_rcp_approx_ftz_d>;

//
// Sqrt
//

def INT_NVVM_SQRT_RN_FTZ_F : F_MATH_1<"sqrt.rn.ftz.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_sqrt_rn_ftz_f>;
def INT_NVVM_SQRT_RN_F : F_MATH_1<"sqrt.rn.f32 \t$dst, $src0;", Float32Regs,
  Float32Regs, int_nvvm_sqrt_rn_f>;
def INT_NVVM_SQRT_RZ_FTZ_F : F_MATH_1<"sqrt.rz.ftz.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_sqrt_rz_ftz_f>;
def INT_NVVM_SQRT_RZ_F : F_MATH_1<"sqrt.rz.f32 \t$dst, $src0;", Float32Regs,
  Float32Regs, int_nvvm_sqrt_rz_f>;
def INT_NVVM_SQRT_RM_FTZ_F : F_MATH_1<"sqrt.rm.ftz.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_sqrt_rm_ftz_f>;
def INT_NVVM_SQRT_RM_F : F_MATH_1<"sqrt.rm.f32 \t$dst, $src0;", Float32Regs,
  Float32Regs, int_nvvm_sqrt_rm_f>;
def INT_NVVM_SQRT_RP_FTZ_F : F_MATH_1<"sqrt.rp.ftz.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_sqrt_rp_ftz_f>;
def INT_NVVM_SQRT_RP_F : F_MATH_1<"sqrt.rp.f32 \t$dst, $src0;", Float32Regs,
  Float32Regs, int_nvvm_sqrt_rp_f>;
def INT_NVVM_SQRT_APPROX_FTZ_F : F_MATH_1<"sqrt.approx.ftz.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_sqrt_approx_ftz_f>;
def INT_NVVM_SQRT_APPROX_F : F_MATH_1<"sqrt.approx.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_sqrt_approx_f>;

def INT_NVVM_SQRT_RN_D : F_MATH_1<"sqrt.rn.f64 \t$dst, $src0;", Float64Regs,
  Float64Regs, int_nvvm_sqrt_rn_d>;
def INT_NVVM_SQRT_RZ_D : F_MATH_1<"sqrt.rz.f64 \t$dst, $src0;", Float64Regs,
  Float64Regs, int_nvvm_sqrt_rz_d>;
def INT_NVVM_SQRT_RM_D : F_MATH_1<"sqrt.rm.f64 \t$dst, $src0;", Float64Regs,
  Float64Regs, int_nvvm_sqrt_rm_d>;
def INT_NVVM_SQRT_RP_D : F_MATH_1<"sqrt.rp.f64 \t$dst, $src0;", Float64Regs,
  Float64Regs, int_nvvm_sqrt_rp_d>;

// nvvm_sqrt intrinsic
def : Pat<(int_nvvm_sqrt_f Float32Regs:$a),
          (INT_NVVM_SQRT_RN_FTZ_F Float32Regs:$a)>, Requires<[doF32FTZ, do_SQRTF32_RN]>;
def : Pat<(int_nvvm_sqrt_f Float32Regs:$a),
          (INT_NVVM_SQRT_RN_F Float32Regs:$a)>, Requires<[do_SQRTF32_RN]>;
def : Pat<(int_nvvm_sqrt_f Float32Regs:$a),
          (INT_NVVM_SQRT_APPROX_FTZ_F Float32Regs:$a)>, Requires<[doF32FTZ]>;
def : Pat<(int_nvvm_sqrt_f Float32Regs:$a),
          (INT_NVVM_SQRT_APPROX_F Float32Regs:$a)>;

//
// Rsqrt
//

def INT_NVVM_RSQRT_APPROX_FTZ_F
  : F_MATH_1<"rsqrt.approx.ftz.f32 \t$dst, $src0;", Float32Regs, Float32Regs,
    int_nvvm_rsqrt_approx_ftz_f>;
def INT_NVVM_RSQRT_APPROX_F : F_MATH_1<"rsqrt.approx.f32 \t$dst, $src0;",
  Float32Regs, Float32Regs, int_nvvm_rsqrt_approx_f>;
def INT_NVVM_RSQRT_APPROX_D : F_MATH_1<"rsqrt.approx.f64 \t$dst, $src0;",
  Float64Regs, Float64Regs, int_nvvm_rsqrt_approx_d>;

//
// Add
//

def INT_NVVM_ADD_RN_FTZ_F : F_MATH_2<"add.rn.ftz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rn_ftz_f>;
def INT_NVVM_ADD_RN_F : F_MATH_2<"add.rn.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rn_f>;
def INT_NVVM_ADD_RZ_FTZ_F : F_MATH_2<"add.rz.ftz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rz_ftz_f>;
def INT_NVVM_ADD_RZ_F : F_MATH_2<"add.rz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rz_f>;
def INT_NVVM_ADD_RM_FTZ_F : F_MATH_2<"add.rm.ftz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rm_ftz_f>;
def INT_NVVM_ADD_RM_F : F_MATH_2<"add.rm.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rm_f>;
def INT_NVVM_ADD_RP_FTZ_F : F_MATH_2<"add.rp.ftz.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rp_ftz_f>;
def INT_NVVM_ADD_RP_F : F_MATH_2<"add.rp.f32 \t$dst, $src0, $src1;",
  Float32Regs, Float32Regs, Float32Regs, int_nvvm_add_rp_f>;

def INT_NVVM_ADD_RN_D : F_MATH_2<"add.rn.f64 \t$dst, $src0, $src1;",
  Float64Regs, Float64Regs, Float64Regs, int_nvvm_add_rn_d>;
def INT_NVVM_ADD_RZ_D : F_MATH_2<"add.rz.f64 \t$dst, $src0, $src1;",
  Float64Regs, Float64Regs, Float64Regs, int_nvvm_add_rz_d>;
def INT_NVVM_ADD_RM_D : F_MATH_2<"add.rm.f64 \t$dst, $src0, $src1;",
  Float64Regs, Float64Regs, Float64Regs, int_nvvm_add_rm_d>;
def INT_NVVM_ADD_RP_D : F_MATH_2<"add.rp.f64 \t$dst, $src0, $src1;",
  Float64Regs, Float64Regs, Float64Regs, int_nvvm_add_rp_d>;

//
// Convert
//

def : Pat<(int_nvvm_d2f_rn_ftz Float64Regs:$a),
          (CVT_f32_f64 Float64Regs:$a, CvtRN_FTZ)>;
def : Pat<(int_nvvm_d2f_rn Float64Regs:$a),
          (CVT_f32_f64 Float64Regs:$a, CvtRN)>;
def : Pat<(int_nvvm_d2f_rz_ftz Float64Regs:$a),
          (CVT_f32_f64 Float64Regs:$a, CvtRZ_FTZ)>;
def : Pat<(int_nvvm_d2f_rz Float64Regs:$a),
          (CVT_f32_f64 Float64Regs:$a, CvtRZ)>;
def : Pat<(int_nvvm_d2f_rm_ftz Float64Regs:$a),
          (CVT_f32_f64 Float64Regs:$a, CvtRM_FTZ)>;
def : Pat<(int_nvvm_d2f_rm Float64Regs:$a),
          (CVT_f32_f64 Float64Regs:$a, CvtRM)>;
def : Pat<(int_nvvm_d2f_rp_ftz Float64Regs:$a),
          (CVT_f32_f64 Float64Regs:$a, CvtRP_FTZ)>;
def : Pat<(int_nvvm_d2f_rp Float64Regs:$a),
          (CVT_f32_f64 Float64Regs:$a, CvtRP)>;

def : Pat<(int_nvvm_d2i_rn Float64Regs:$a),
          (CVT_s32_f64 Float64Regs:$a, CvtRNI)>;
def : Pat<(int_nvvm_d2i_rz Float64Regs:$a),
          (CVT_s32_f64 Float64Regs:$a, CvtRZI)>;
def : Pat<(int_nvvm_d2i_rm Float64Regs:$a),
          (CVT_s32_f64 Float64Regs:$a, CvtRMI)>;
def : Pat<(int_nvvm_d2i_rp Float64Regs:$a),
          (CVT_s32_f64 Float64Regs:$a, CvtRPI)>;

def : Pat<(int_nvvm_d2ui_rn Float64Regs:$a),
          (CVT_u32_f64 Float64Regs:$a, CvtRNI)>;
def : Pat<(int_nvvm_d2ui_rz Float64Regs:$a),
          (CVT_u32_f64 Float64Regs:$a, CvtRZI)>;
def : Pat<(int_nvvm_d2ui_rm Float64Regs:$a),
          (CVT_u32_f64 Float64Regs:$a, CvtRMI)>;
def : Pat<(int_nvvm_d2ui_rp Float64Regs:$a),
          (CVT_u32_f64 Float64Regs:$a, CvtRPI)>;

def : Pat<(int_nvvm_i2d_rn Int32Regs:$a),
          (CVT_f64_s32 Int32Regs:$a, CvtRN)>;
def : Pat<(int_nvvm_i2d_rz Int32Regs:$a),
          (CVT_f64_s32 Int32Regs:$a, CvtRZ)>;
def : Pat<(int_nvvm_i2d_rm Int32Regs:$a),
          (CVT_f64_s32 Int32Regs:$a, CvtRM)>;
def : Pat<(int_nvvm_i2d_rp Int32Regs:$a),
          (CVT_f64_s32 Int32Regs:$a, CvtRP)>;

def : Pat<(int_nvvm_ui2d_rn Int32Regs:$a),
          (CVT_f64_u32 Int32Regs:$a, CvtRN)>;
def : Pat<(int_nvvm_ui2d_rz Int32Regs:$a),
          (CVT_f64_u32 Int32Regs:$a, CvtRZ)>;
def : Pat<(int_nvvm_ui2d_rm Int32Regs:$a),
          (CVT_f64_u32 Int32Regs:$a, CvtRM)>;
def : Pat<(int_nvvm_ui2d_rp Int32Regs:$a),
          (CVT_f64_u32 Int32Regs:$a, CvtRP)>;

def : Pat<(int_nvvm_f2i_rn_ftz Float32Regs:$a),
          (CVT_s32_f32 Float32Regs:$a, CvtRNI_FTZ)>;
def : Pat<(int_nvvm_f2i_rn Float32Regs:$a),
          (CVT_s32_f32 Float32Regs:$a, CvtRNI)>;
def : Pat<(int_nvvm_f2i_rz_ftz Float32Regs:$a),
          (CVT_s32_f32 Float32Regs:$a, CvtRZI_FTZ)>;
def : Pat<(int_nvvm_f2i_rz Float32Regs:$a),
          (CVT_s32_f32 Float32Regs:$a, CvtRZI)>;
def : Pat<(int_nvvm_f2i_rm_ftz Float32Regs:$a),
          (CVT_s32_f32 Float32Regs:$a, CvtRMI_FTZ)>;
def : Pat<(int_nvvm_f2i_rm Float32Regs:$a),
          (CVT_s32_f32 Float32Regs:$a, CvtRMI)>;
def : Pat<(int_nvvm_f2i_rp_ftz Float32Regs:$a),
          (CVT_s32_f32 Float32Regs:$a, CvtRPI_FTZ)>;
def : Pat<(int_nvvm_f2i_rp Float32Regs:$a),
          (CVT_s32_f32 Float32Regs:$a, CvtRPI)>;

def : Pat<(int_nvvm_f2ui_rn_ftz Float32Regs:$a),
          (CVT_u32_f32 Float32Regs:$a, CvtRNI_FTZ)>;
def : Pat<(int_nvvm_f2ui_rn Float32Regs:$a),
          (CVT_u32_f32 Float32Regs:$a, CvtRNI)>;
def : Pat<(int_nvvm_f2ui_rz_ftz Float32Regs:$a),
          (CVT_u32_f32 Float32Regs:$a, CvtRZI_FTZ)>;
def : Pat<(int_nvvm_f2ui_rz Float32Regs:$a),
          (CVT_u32_f32 Float32Regs:$a, CvtRZI)>;
def : Pat<(int_nvvm_f2ui_rm_ftz Float32Regs:$a),
          (CVT_u32_f32 Float32Regs:$a, CvtRMI_FTZ)>;
def : Pat<(int_nvvm_f2ui_rm Float32Regs:$a),
          (CVT_u32_f32 Float32Regs:$a, CvtRMI)>;
def : Pat<(int_nvvm_f2ui_rp_ftz Float32Regs:$a),
          (CVT_u32_f32 Float32Regs:$a, CvtRPI_FTZ)>;
def : Pat<(int_nvvm_f2ui_rp Float32Regs:$a),
          (CVT_u32_f32 Float32Regs:$a, CvtRPI)>;

def : Pat<(int_nvvm_i2f_rn Int32Regs:$a),
          (CVT_f32_s32 Int32Regs:$a, CvtRN)>;
def : Pat<(int_nvvm_i2f_rz Int32Regs:$a),
          (CVT_f32_s32 Int32Regs:$a, CvtRZ)>;
def : Pat<(int_nvvm_i2f_rm Int32Regs:$a),
          (CVT_f32_s32 Int32Regs:$a, CvtRM)>;
def : Pat<(int_nvvm_i2f_rp Int32Regs:$a),
          (CVT_f32_s32 Int32Regs:$a, CvtRP)>;

def : Pat<(int_nvvm_ui2f_rn Int32Regs:$a),
          (CVT_f32_u32 Int32Regs:$a, CvtRN)>;
def : Pat<(int_nvvm_ui2f_rz Int32Regs:$a),
          (CVT_f32_u32 Int32Regs:$a, CvtRZ)>;
def : Pat<(int_nvvm_ui2f_rm Int32Regs:$a),
          (CVT_f32_u32 Int32Regs:$a, CvtRM)>;
def : Pat<(int_nvvm_ui2f_rp Int32Regs:$a),
          (CVT_f32_u32 Int32Regs:$a, CvtRP)>;

def INT_NVVM_LOHI_I2D : F_MATH_2<"mov.b64 \t$dst, {{$src0, $src1}};",
  Float64Regs, Int32Regs, Int32Regs, int_nvvm_lohi_i2d>;

def INT_NVVM_D2I_LO : F_MATH_1<
  !strconcat("{{\n\t",
             ".reg .b32 %temp; \n\t",
             "mov.b64 \t{$dst, %temp}, $src0;\n\t",
             "}}"),
  Int32Regs, Float64Regs, int_nvvm_d2i_lo>;
def INT_NVVM_D2I_HI : F_MATH_1<
  !strconcat("{{\n\t",
             ".reg .b32 %temp; \n\t",
             "mov.b64 \t{%temp, $dst}, $src0;\n\t",
             "}}"),
  Int32Regs, Float64Regs, int_nvvm_d2i_hi>;

def : Pat<(int_nvvm_f2ll_rn_ftz Float32Regs:$a),
          (CVT_s64_f32 Float32Regs:$a, CvtRNI_FTZ)>;
def : Pat<(int_nvvm_f2ll_rn Float32Regs:$a),
          (CVT_s64_f32 Float32Regs:$a, CvtRNI)>;
def : Pat<(int_nvvm_f2ll_rz_ftz Float32Regs:$a),
          (CVT_s64_f32 Float32Regs:$a, CvtRZI_FTZ)>;
def : Pat<(int_nvvm_f2ll_rz Float32Regs:$a),
          (CVT_s64_f32 Float32Regs:$a, CvtRZI)>;
def : Pat<(int_nvvm_f2ll_rm_ftz Float32Regs:$a),
          (CVT_s64_f32 Float32Regs:$a, CvtRMI_FTZ)>;
def : Pat<(int_nvvm_f2ll_rm Float32Regs:$a),
          (CVT_s64_f32 Float32Regs:$a, CvtRMI)>;
def : Pat<(int_nvvm_f2ll_rp_ftz Float32Regs:$a),
          (CVT_s64_f32 Float32Regs:$a, CvtRPI_FTZ)>;
def : Pat<(int_nvvm_f2ll_rp Float32Regs:$a),
          (CVT_s64_f32 Float32Regs:$a, CvtRPI)>;

def : Pat<(int_nvvm_f2ull_rn_ftz Float32Regs:$a),
          (CVT_u64_f32 Float32Regs:$a, CvtRNI_FTZ)>;
def : Pat<(int_nvvm_f2ull_rn Float32Regs:$a),
          (CVT_u64_f32 Float32Regs:$a, CvtRNI)>;
def : Pat<(int_nvvm_f2ull_rz_ftz Float32Regs:$a),
          (CVT_u64_f32 Float32Regs:$a, CvtRZI_FTZ)>;
def : Pat<(int_nvvm_f2ull_rz Float32Regs:$a),
          (CVT_u64_f32 Float32Regs:$a, CvtRZI)>;
def : Pat<(int_nvvm_f2ull_rm_ftz Float32Regs:$a),
          (CVT_u64_f32 Float32Regs:$a, CvtRMI_FTZ)>;
def : Pat<(int_nvvm_f2ull_rm Float32Regs:$a),
          (CVT_u64_f32 Float32Regs:$a, CvtRMI)>;
def : Pat<(int_nvvm_f2ull_rp_ftz Float32Regs:$a),
          (CVT_u64_f32 Float32Regs:$a, CvtRPI_FTZ)>;
def : Pat<(int_nvvm_f2ull_rp Float32Regs:$a),
          (CVT_u64_f32 Float32Regs:$a, CvtRPI)>;

def : Pat<(int_nvvm_d2ll_rn Float64Regs:$a),
          (CVT_s64_f64 Float64Regs:$a, CvtRNI)>;
def : Pat<(int_nvvm_d2ll_rz Float64Regs:$a),
          (CVT_s64_f64 Float64Regs:$a, CvtRZI)>;
def : Pat<(int_nvvm_d2ll_rm Float64Regs:$a),
          (CVT_s64_f64 Float64Regs:$a, CvtRMI)>;
def : Pat<(int_nvvm_d2ll_rp Float64Regs:$a),
          (CVT_s64_f64 Float64Regs:$a, CvtRPI)>;

def : Pat<(int_nvvm_d2ull_rn Float64Regs:$a),
          (CVT_u64_f64 Float64Regs:$a, CvtRNI)>;
def : Pat<(int_nvvm_d2ull_rz Float64Regs:$a),
          (CVT_u64_f64 Float64Regs:$a, CvtRZI)>;
def : Pat<(int_nvvm_d2ull_rm Float64Regs:$a),
          (CVT_u64_f64 Float64Regs:$a, CvtRMI)>;
def : Pat<(int_nvvm_d2ull_rp Float64Regs:$a),
          (CVT_u64_f64 Float64Regs:$a, CvtRPI)>;

def : Pat<(int_nvvm_ll2f_rn Int64Regs:$a),
          (CVT_f32_s64 Int64Regs:$a, CvtRN)>;
def : Pat<(int_nvvm_ll2f_rz Int64Regs:$a),
          (CVT_f32_s64 Int64Regs:$a, CvtRZ)>;
def : Pat<(int_nvvm_ll2f_rm Int64Regs:$a),
          (CVT_f32_s64 Int64Regs:$a, CvtRM)>;
def : Pat<(int_nvvm_ll2f_rp Int64Regs:$a),
          (CVT_f32_s64 Int64Regs:$a, CvtRP)>;

def : Pat<(int_nvvm_ull2f_rn Int64Regs:$a),
          (CVT_f32_u64 Int64Regs:$a, CvtRN)>;
def : Pat<(int_nvvm_ull2f_rz Int64Regs:$a),
          (CVT_f32_u64 Int64Regs:$a, CvtRZ)>;
def : Pat<(int_nvvm_ull2f_rm Int64Regs:$a),
          (CVT_f32_u64 Int64Regs:$a, CvtRM)>;
def : Pat<(int_nvvm_ull2f_rp Int64Regs:$a),
          (CVT_f32_u64 Int64Regs:$a, CvtRP)>;

def : Pat<(int_nvvm_ll2d_rn Int64Regs:$a),
          (CVT_f64_s64 Int64Regs:$a, CvtRN)>;
def : Pat<(int_nvvm_ll2d_rz Int64Regs:$a),
          (CVT_f64_s64 Int64Regs:$a, CvtRZ)>;
def : Pat<(int_nvvm_ll2d_rm Int64Regs:$a),
          (CVT_f64_s64 Int64Regs:$a, CvtRM)>;
def : Pat<(int_nvvm_ll2d_rp Int64Regs:$a),
          (CVT_f64_s64 Int64Regs:$a, CvtRP)>;

def : Pat<(int_nvvm_ull2d_rn Int64Regs:$a),
          (CVT_f64_u64 Int64Regs:$a, CvtRN)>;
def : Pat<(int_nvvm_ull2d_rz Int64Regs:$a),
          (CVT_f64_u64 Int64Regs:$a, CvtRZ)>;
def : Pat<(int_nvvm_ull2d_rm Int64Regs:$a),
          (CVT_f64_u64 Int64Regs:$a, CvtRM)>;
def : Pat<(int_nvvm_ull2d_rp Int64Regs:$a),
          (CVT_f64_u64 Int64Regs:$a, CvtRP)>;


def : Pat<(int_nvvm_f2h_rn_ftz Float32Regs:$a),
          (BITCONVERT_16_F2I (CVT_f16_f32 Float32Regs:$a, CvtRN_FTZ))>;
def : Pat<(int_nvvm_f2h_rn Float32Regs:$a),
          (BITCONVERT_16_F2I (CVT_f16_f32 Float32Regs:$a, CvtRN))>;

//
// Bitcast
//

def INT_NVVM_BITCAST_F2I : F_MATH_1<"mov.b32 \t$dst, $src0;", Int32Regs,
  Float32Regs, int_nvvm_bitcast_f2i>;
def INT_NVVM_BITCAST_I2F : F_MATH_1<"mov.b32 \t$dst, $src0;", Float32Regs,
  Int32Regs, int_nvvm_bitcast_i2f>;

def INT_NVVM_BITCAST_LL2D : F_MATH_1<"mov.b64 \t$dst, $src0;", Float64Regs,
  Int64Regs, int_nvvm_bitcast_ll2d>;
def INT_NVVM_BITCAST_D2LL : F_MATH_1<"mov.b64 \t$dst, $src0;", Int64Regs,
  Float64Regs, int_nvvm_bitcast_d2ll>;

//
// FNS
//

class INT_FNS_MBO<dag ins, dag Operands>
  : NVPTXInst<(outs Int32Regs:$dst), ins,
               "fns.b32 \t$dst, $mask, $base, $offset;",
               [(set Int32Regs:$dst, Operands )]>,
    Requires<[hasPTX60, hasSM30]>;

def INT_FNS_rrr : INT_FNS_MBO<(ins Int32Regs:$mask, Int32Regs:$base, Int32Regs:$offset),
                     (int_nvvm_fns Int32Regs:$mask, Int32Regs:$base, Int32Regs:$offset)>;
def INT_FNS_rri : INT_FNS_MBO<(ins Int32Regs:$mask, Int32Regs:$base,    i32imm:$offset),
                     (int_nvvm_fns Int32Regs:$mask, Int32Regs:$base,       imm:$offset)>;
def INT_FNS_rir : INT_FNS_MBO<(ins Int32Regs:$mask,    i32imm:$base, Int32Regs:$offset),
                     (int_nvvm_fns Int32Regs:$mask,       imm:$base, Int32Regs:$offset)>;
def INT_FNS_rii : INT_FNS_MBO<(ins Int32Regs:$mask,    i32imm:$base,    i32imm:$offset),
                     (int_nvvm_fns Int32Regs:$mask,       imm:$base,       imm:$offset)>;
def INT_FNS_irr : INT_FNS_MBO<(ins    i32imm:$mask, Int32Regs:$base, Int32Regs:$offset),
                     (int_nvvm_fns       imm:$mask, Int32Regs:$base, Int32Regs:$offset)>;
def INT_FNS_iri : INT_FNS_MBO<(ins    i32imm:$mask, Int32Regs:$base,    i32imm:$offset),
                     (int_nvvm_fns       imm:$mask, Int32Regs:$base,       imm:$offset)>;
def INT_FNS_iir : INT_FNS_MBO<(ins    i32imm:$mask,    i32imm:$base, Int32Regs:$offset),
                     (int_nvvm_fns       imm:$mask,       imm:$base, Int32Regs:$offset)>;
def INT_FNS_iii : INT_FNS_MBO<(ins    i32imm:$mask,    i32imm:$base,    i32imm:$offset),
                     (int_nvvm_fns       imm:$mask,       imm:$base,       imm:$offset)>;

//-----------------------------------
// Atomic Functions
//-----------------------------------

class ATOMIC_GLOBAL_CHK <dag ops, dag frag>
 : PatFrag<ops, frag, AS_match.global>;
class ATOMIC_SHARED_CHK <dag ops, dag frag>
 : PatFrag<ops, frag, AS_match.shared>;
class ATOMIC_GENERIC_CHK <dag ops, dag frag>
 : PatFrag<ops, frag, AS_match.generic>;

multiclass F_ATOMIC_2_imp<NVPTXRegClass ptrclass, NVPTXRegClass regclass,
  string SpaceStr, string TypeStr, string OpcStr, PatFrag IntOp,
  Operand IMMType, SDNode IMM, list<Predicate> Pred> {
  def reg : NVPTXInst<(outs regclass:$dst), (ins ptrclass:$addr, regclass:$b),
    !strconcat("atom", SpaceStr, OpcStr, TypeStr, " \t$dst, [$addr], $b;"),
    [(set regclass:$dst, (IntOp ptrclass:$addr, regclass:$b))]>,
  Requires<Pred>;
  def imm : NVPTXInst<(outs regclass:$dst), (ins ptrclass:$addr, IMMType:$b),
    !strconcat("atom", SpaceStr, OpcStr, TypeStr, " \t$dst, [$addr], $b;", ""),
    [(set regclass:$dst, (IntOp ptrclass:$addr, IMM:$b))]>,
  Requires<Pred>;
}
multiclass F_ATOMIC_2<NVPTXRegClass regclass, string SpaceStr, string TypeStr,
  string OpcStr, PatFrag IntOp, Operand IMMType, SDNode IMM,
  list<Predicate> Pred = []> {
  defm p32 : F_ATOMIC_2_imp<Int32Regs, regclass, SpaceStr, TypeStr, OpcStr,
    IntOp, IMMType, IMM, Pred>;
  defm p64 : F_ATOMIC_2_imp<Int64Regs, regclass, SpaceStr, TypeStr, OpcStr,
    IntOp, IMMType, IMM, Pred>;
}

// has 2 operands, neg the second one
multiclass F_ATOMIC_2_NEG_imp<NVPTXRegClass ptrclass, NVPTXRegClass regclass,
  string SpaceStr, string TypeStr, string OpcStr, PatFrag IntOp,
  Operand IMMType, list<Predicate> Pred> {
  def reg : NVPTXInst<(outs regclass:$dst), (ins ptrclass:$addr, regclass:$b),
    !strconcat(
      "{{ \n\t",
      ".reg \t.s", TypeStr, " temp; \n\t",
      "neg.s", TypeStr, " \ttemp, $b; \n\t",
      "atom", SpaceStr, OpcStr, ".u", TypeStr, " \t$dst, [$addr], temp; \n\t",
      "}}"),
    [(set regclass:$dst, (IntOp ptrclass:$addr, regclass:$b))]>,
  Requires<Pred>;
}
multiclass F_ATOMIC_2_NEG<NVPTXRegClass regclass, string SpaceStr,
  string TypeStr, string OpcStr, PatFrag IntOp, Operand IMMType,
  list<Predicate> Pred = []> {
 defm p32: F_ATOMIC_2_NEG_imp<Int32Regs, regclass, SpaceStr, TypeStr, OpcStr,
   IntOp, IMMType, Pred> ;
 defm p64: F_ATOMIC_2_NEG_imp<Int64Regs, regclass, SpaceStr, TypeStr, OpcStr,
   IntOp, IMMType, Pred> ;
}

// has 3 operands
multiclass F_ATOMIC_3_imp<NVPTXRegClass ptrclass, NVPTXRegClass regclass,
  string SpaceStr, string TypeStr, string OpcStr, PatFrag IntOp,
  Operand IMMType, list<Predicate> Pred> {
  def reg : NVPTXInst<(outs regclass:$dst),
    (ins ptrclass:$addr, regclass:$b, regclass:$c),
    !strconcat("atom", SpaceStr, OpcStr, TypeStr, " \t$dst, [$addr], $b, $c;"),
    [(set regclass:$dst, (IntOp ptrclass:$addr, regclass:$b, regclass:$c))]>,
  Requires<Pred>;

  def imm1 : NVPTXInst<(outs regclass:$dst),
    (ins ptrclass:$addr, IMMType:$b, regclass:$c),
    !strconcat("atom", SpaceStr, OpcStr, TypeStr, " \t$dst, [$addr], $b, $c;"),
    [(set regclass:$dst, (IntOp ptrclass:$addr, imm:$b, regclass:$c))]>,
  Requires<Pred>;

  def imm2 : NVPTXInst<(outs regclass:$dst),
    (ins ptrclass:$addr, regclass:$b, IMMType:$c),
    !strconcat("atom", SpaceStr, OpcStr, TypeStr, " \t$dst, [$addr], $b, $c;", ""),
    [(set regclass:$dst, (IntOp ptrclass:$addr, regclass:$b, imm:$c))]>,
  Requires<Pred>;

  def imm3 : NVPTXInst<(outs regclass:$dst),
    (ins ptrclass:$addr, IMMType:$b, IMMType:$c),
    !strconcat("atom", SpaceStr, OpcStr, TypeStr, " \t$dst, [$addr], $b, $c;"),
    [(set regclass:$dst, (IntOp ptrclass:$addr, imm:$b, imm:$c))]>,
  Requires<Pred>;
}
multiclass F_ATOMIC_3<NVPTXRegClass regclass, string SpaceStr, string TypeStr,
  string OpcStr, PatFrag IntOp, Operand IMMType, list<Predicate> Pred = []> {
  defm p32 : F_ATOMIC_3_imp<Int32Regs, regclass, SpaceStr, TypeStr, OpcStr,
    IntOp, IMMType, Pred>;
  defm p64 : F_ATOMIC_3_imp<Int64Regs, regclass, SpaceStr, TypeStr, OpcStr,
    IntOp, IMMType, Pred>;
}

// atom_add

def atomic_load_add_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_add_32 node:$a, node:$b)>;
def atomic_load_add_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_add_32 node:$a, node:$b)>;
def atomic_load_add_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_add_32 node:$a, node:$b)>;
def atomic_load_add_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_add_64 node:$a, node:$b)>;
def atomic_load_add_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_add_64 node:$a, node:$b)>;
def atomic_load_add_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_add_64 node:$a, node:$b)>;
def atomic_load_add_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_fadd node:$a, node:$b)>;
def atomic_load_add_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_fadd node:$a, node:$b)>;
def atomic_load_add_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_fadd node:$a, node:$b)>;

defm INT_PTX_ATOM_ADD_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".u32", ".add",
  atomic_load_add_32_g, i32imm, imm>;
defm INT_PTX_ATOM_ADD_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".u32", ".add",
  atomic_load_add_32_s, i32imm, imm>;
defm INT_PTX_ATOM_ADD_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".u32", ".add",
  atomic_load_add_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_ADD_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", ".u32",
  ".add", atomic_load_add_32_gen, i32imm, imm>;

defm INT_PTX_ATOM_ADD_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".u64", ".add",
  atomic_load_add_64_g, i64imm, imm>;
defm INT_PTX_ATOM_ADD_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".u64", ".add",
  atomic_load_add_64_s, i64imm, imm>;
defm INT_PTX_ATOM_ADD_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".u64", ".add",
  atomic_load_add_64_gen, i64imm, imm>;
defm INT_PTX_ATOM_ADD_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global", ".u64",
  ".add", atomic_load_add_64_gen, i64imm, imm>;

defm INT_PTX_ATOM_ADD_G_F32 : F_ATOMIC_2<Float32Regs, ".global", ".f32", ".add",
  atomic_load_add_g, f32imm, fpimm>;
defm INT_PTX_ATOM_ADD_S_F32 : F_ATOMIC_2<Float32Regs, ".shared", ".f32", ".add",
  atomic_load_add_s, f32imm, fpimm>;
defm INT_PTX_ATOM_ADD_GEN_F32 : F_ATOMIC_2<Float32Regs, "", ".f32", ".add",
  atomic_load_add_gen, f32imm, fpimm>;

defm INT_PTX_ATOM_ADD_G_F64 : F_ATOMIC_2<Float64Regs, ".global", ".f64", ".add",
  atomic_load_add_g, f64imm, fpimm, [hasAtomAddF64]>;
defm INT_PTX_ATOM_ADD_S_F64 : F_ATOMIC_2<Float64Regs, ".shared", ".f64", ".add",
  atomic_load_add_s, f64imm, fpimm, [hasAtomAddF64]>;
defm INT_PTX_ATOM_ADD_GEN_F64 : F_ATOMIC_2<Float64Regs, "", ".f64", ".add",
  atomic_load_add_gen, f64imm, fpimm, [hasAtomAddF64]>;

// atom_sub

def atomic_load_sub_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_sub_32 node:$a, node:$b)>;
def atomic_load_sub_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_sub_32 node:$a, node:$b)>;
def atomic_load_sub_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_sub_32 node:$a, node:$b)>;
def atomic_load_sub_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_sub_64 node:$a, node:$b)>;
def atomic_load_sub_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_sub_64 node:$a, node:$b)>;
def atomic_load_sub_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_sub_64 node:$a, node:$b)>;

defm INT_PTX_ATOM_SUB_G_32 : F_ATOMIC_2_NEG<Int32Regs, ".global", "32", ".add",
  atomic_load_sub_32_g, i32imm>;
defm INT_PTX_ATOM_SUB_G_64 : F_ATOMIC_2_NEG<Int64Regs, ".global", "64", ".add",
  atomic_load_sub_64_g, i64imm>;
defm INT_PTX_ATOM_SUB_GEN_32 : F_ATOMIC_2_NEG<Int32Regs, "", "32", ".add",
  atomic_load_sub_32_gen, i32imm>;
defm INT_PTX_ATOM_SUB_GEN_32_USE_G : F_ATOMIC_2_NEG<Int32Regs, ".global", "32",
  ".add", atomic_load_sub_32_gen, i32imm>;
defm INT_PTX_ATOM_SUB_S_32 : F_ATOMIC_2_NEG<Int32Regs, ".shared", "32", ".add",
  atomic_load_sub_32_s, i32imm>;
defm INT_PTX_ATOM_SUB_S_64 : F_ATOMIC_2_NEG<Int64Regs, ".shared", "64", ".add",
  atomic_load_sub_64_s, i64imm>;
defm INT_PTX_ATOM_SUB_GEN_64 : F_ATOMIC_2_NEG<Int64Regs, "", "64", ".add",
  atomic_load_sub_64_gen, i64imm>;
defm INT_PTX_ATOM_SUB_GEN_64_USE_G : F_ATOMIC_2_NEG<Int64Regs, ".global", "64",
  ".add", atomic_load_sub_64_gen, i64imm>;

// atom_swap

def atomic_swap_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_swap_32 node:$a, node:$b)>;
def atomic_swap_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_swap_32 node:$a, node:$b)>;
def atomic_swap_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_swap_32 node:$a, node:$b)>;
def atomic_swap_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_swap_64 node:$a, node:$b)>;
def atomic_swap_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_swap_64 node:$a, node:$b)>;
def atomic_swap_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_swap_64 node:$a, node:$b)>;

defm INT_PTX_ATOM_SWAP_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".b32", ".exch",
  atomic_swap_32_g, i32imm, imm>;
defm INT_PTX_ATOM_SWAP_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".b32", ".exch",
  atomic_swap_32_s, i32imm, imm>;
defm INT_PTX_ATOM_SWAP_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".b32", ".exch",
  atomic_swap_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_SWAP_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", ".b32",
  ".exch", atomic_swap_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_SWAP_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".b64", ".exch",
  atomic_swap_64_g, i64imm, imm>;
defm INT_PTX_ATOM_SWAP_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".b64", ".exch",
  atomic_swap_64_s, i64imm, imm>;
defm INT_PTX_ATOM_SWAP_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".b64", ".exch",
  atomic_swap_64_gen, i64imm, imm>;
defm INT_PTX_ATOM_SWAP_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global", ".b64",
  ".exch", atomic_swap_64_gen, i64imm, imm>;

// atom_max

def atomic_load_max_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b)
  , (atomic_load_max_32 node:$a, node:$b)>;
def atomic_load_max_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_max_32 node:$a, node:$b)>;
def atomic_load_max_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_max_32 node:$a, node:$b)>;
def atomic_load_max_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b)
  , (atomic_load_max_64 node:$a, node:$b)>;
def atomic_load_max_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_max_64 node:$a, node:$b)>;
def atomic_load_max_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_max_64 node:$a, node:$b)>;
def atomic_load_umax_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_umax_32 node:$a, node:$b)>;
def atomic_load_umax_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_umax_32 node:$a, node:$b)>;
def atomic_load_umax_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_umax_32 node:$a, node:$b)>;
def atomic_load_umax_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_umax_64 node:$a, node:$b)>;
def atomic_load_umax_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_umax_64 node:$a, node:$b)>;
def atomic_load_umax_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_umax_64 node:$a, node:$b)>;

defm INT_PTX_ATOM_LOAD_MAX_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".s32",
  ".max", atomic_load_max_32_g, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_MAX_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".s32",
  ".max", atomic_load_max_32_s, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_MAX_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".s32", ".max",
  atomic_load_max_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_MAX_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global",
  ".s32", ".max", atomic_load_max_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_MAX_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".s64",
  ".max", atomic_load_max_64_g, i64imm, imm>;
defm INT_PTX_ATOM_LOAD_MAX_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".s64",
  ".max", atomic_load_max_64_s, i64imm, imm>;
defm INT_PTX_ATOM_LOAD_MAX_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".s64", ".max",
  atomic_load_max_64_gen, i64imm, imm>;
defm INT_PTX_ATOM_LOAD_MAX_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global",
  ".s64", ".max", atomic_load_max_64_gen, i64imm, imm>;
defm INT_PTX_ATOM_LOAD_UMAX_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".u32",
  ".max", atomic_load_umax_32_g, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_UMAX_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".u32",
  ".max", atomic_load_umax_32_s, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_UMAX_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".u32", ".max",
  atomic_load_umax_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_UMAX_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global",
  ".u32", ".max", atomic_load_umax_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_UMAX_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".u64",
  ".max", atomic_load_umax_64_g, i64imm, imm>;
defm INT_PTX_ATOM_LOAD_UMAX_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".u64",
  ".max", atomic_load_umax_64_s, i64imm, imm>;
defm INT_PTX_ATOM_LOAD_UMAX_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".u64", ".max",
  atomic_load_umax_64_gen, i64imm, imm>;
defm INT_PTX_ATOM_LOAD_UMAX_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global",
  ".u64", ".max", atomic_load_umax_64_gen, i64imm, imm>;

// atom_min

def atomic_load_min_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_min_32 node:$a, node:$b)>;
def atomic_load_min_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_min_32 node:$a, node:$b)>;
def atomic_load_min_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_min_32 node:$a, node:$b)>;
def atomic_load_min_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_min_64 node:$a, node:$b)>;
def atomic_load_min_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_min_64 node:$a, node:$b)>;
def atomic_load_min_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_min_64 node:$a, node:$b)>;
def atomic_load_umin_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_umin_32 node:$a, node:$b)>;
def atomic_load_umin_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_umin_32 node:$a, node:$b)>;
def atomic_load_umin_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_umin_32 node:$a, node:$b)>;
def atomic_load_umin_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_umin_64 node:$a, node:$b)>;
def atomic_load_umin_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_umin_64 node:$a, node:$b)>;
def atomic_load_umin_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_umin_64 node:$a, node:$b)>;

defm INT_PTX_ATOM_LOAD_MIN_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".s32",
  ".min", atomic_load_min_32_g, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_MIN_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".s32",
  ".min", atomic_load_min_32_s, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_MIN_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".s32", ".min",
  atomic_load_min_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_MIN_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global",
  ".s32", ".min", atomic_load_min_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_MIN_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".s64",
  ".min", atomic_load_min_64_g, i64imm, imm>;
defm INT_PTX_ATOM_LOAD_MIN_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".s64",
  ".min", atomic_load_min_64_s, i64imm, imm>;
defm INT_PTX_ATOM_LOAD_MIN_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".s64", ".min",
  atomic_load_min_64_gen, i64imm, imm>;
defm INT_PTX_ATOM_LOAD_MIN_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global",
  ".s64", ".min", atomic_load_min_64_gen, i64imm, imm>;
defm INT_PTX_ATOM_LOAD_UMIN_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".u32",
  ".min", atomic_load_umin_32_g, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_UMIN_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".u32",
  ".min", atomic_load_umin_32_s, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_UMIN_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".u32", ".min",
  atomic_load_umin_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_UMIN_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global",
  ".u32", ".min", atomic_load_umin_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_LOAD_UMIN_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".u64",
  ".min", atomic_load_umin_64_g, i64imm, imm>;
defm INT_PTX_ATOM_LOAD_UMIN_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".u64",
  ".min", atomic_load_umin_64_s, i64imm, imm>;
defm INT_PTX_ATOM_LOAD_UMIN_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".u64", ".min",
  atomic_load_umin_64_gen, i64imm, imm>;
defm INT_PTX_ATOM_LOAD_UMIN_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global",
  ".u64", ".min", atomic_load_umin_64_gen, i64imm, imm>;

// atom_inc  atom_dec

def atomic_load_inc_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (int_nvvm_atomic_load_inc_32 node:$a, node:$b)>;
def atomic_load_inc_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (int_nvvm_atomic_load_inc_32 node:$a, node:$b)>;
def atomic_load_inc_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (int_nvvm_atomic_load_inc_32 node:$a, node:$b)>;
def atomic_load_dec_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (int_nvvm_atomic_load_dec_32 node:$a, node:$b)>;
def atomic_load_dec_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (int_nvvm_atomic_load_dec_32 node:$a, node:$b)>;
def atomic_load_dec_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (int_nvvm_atomic_load_dec_32 node:$a, node:$b)>;

defm INT_PTX_ATOM_INC_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".u32", ".inc",
  atomic_load_inc_32_g, i32imm, imm>;
defm INT_PTX_ATOM_INC_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".u32", ".inc",
  atomic_load_inc_32_s, i32imm, imm>;
defm INT_PTX_ATOM_INC_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".u32", ".inc",
  atomic_load_inc_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_INC_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", ".u32",
  ".inc", atomic_load_inc_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_DEC_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".u32", ".dec",
  atomic_load_dec_32_g, i32imm, imm>;
defm INT_PTX_ATOM_DEC_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".u32", ".dec",
  atomic_load_dec_32_s, i32imm, imm>;
defm INT_PTX_ATOM_DEC_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".u32", ".dec",
  atomic_load_dec_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_DEC_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", ".u32",
  ".dec", atomic_load_dec_32_gen, i32imm, imm>;

// atom_and

def atomic_load_and_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_and_32 node:$a, node:$b)>;
def atomic_load_and_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_and_32 node:$a, node:$b)>;
def atomic_load_and_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_and_32 node:$a, node:$b)>;
def atomic_load_and_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_and_64 node:$a, node:$b)>;
def atomic_load_and_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_and_64 node:$a, node:$b)>;
def atomic_load_and_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_and_64 node:$a, node:$b)>;

defm INT_PTX_ATOM_AND_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".b32", ".and",
  atomic_load_and_32_g, i32imm, imm>;
defm INT_PTX_ATOM_AND_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".b32", ".and",
  atomic_load_and_32_s, i32imm, imm>;
defm INT_PTX_ATOM_AND_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".b32", ".and",
  atomic_load_and_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_AND_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", ".b32",
  ".and", atomic_load_and_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_AND_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".b64", ".and",
  atomic_load_and_64_g, i64imm, imm>;
defm INT_PTX_ATOM_AND_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".b64", ".and",
  atomic_load_and_64_s, i64imm, imm>;
defm INT_PTX_ATOM_AND_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".b64", ".and",
  atomic_load_and_64_gen, i64imm, imm>;
defm INT_PTX_ATOM_AND_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global", ".b64",
  ".and", atomic_load_and_64_gen, i64imm, imm>;

// atom_or

def atomic_load_or_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_or_32 node:$a, node:$b)>;
def atomic_load_or_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_or_32 node:$a, node:$b)>;
def atomic_load_or_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_or_32 node:$a, node:$b)>;
def atomic_load_or_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_or_64 node:$a, node:$b)>;
def atomic_load_or_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_or_64 node:$a, node:$b)>;
def atomic_load_or_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_or_64 node:$a, node:$b)>;

defm INT_PTX_ATOM_OR_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".b32", ".or",
  atomic_load_or_32_g, i32imm, imm>;
defm INT_PTX_ATOM_OR_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".b32", ".or",
  atomic_load_or_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_OR_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", ".b32",
  ".or", atomic_load_or_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_OR_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".b32", ".or",
  atomic_load_or_32_s, i32imm, imm>;
defm INT_PTX_ATOM_OR_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".b64", ".or",
  atomic_load_or_64_g, i64imm, imm>;
defm INT_PTX_ATOM_OR_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".b64", ".or",
  atomic_load_or_64_gen, i64imm, imm>;
defm INT_PTX_ATOM_OR_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global", ".b64",
  ".or", atomic_load_or_64_gen, i64imm, imm>;
defm INT_PTX_ATOM_OR_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".b64", ".or",
  atomic_load_or_64_s, i64imm, imm>;

// atom_xor

def atomic_load_xor_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_xor_32 node:$a, node:$b)>;
def atomic_load_xor_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_xor_32 node:$a, node:$b)>;
def atomic_load_xor_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_xor_32 node:$a, node:$b)>;
def atomic_load_xor_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b),
  (atomic_load_xor_64 node:$a, node:$b)>;
def atomic_load_xor_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b),
  (atomic_load_xor_64 node:$a, node:$b)>;
def atomic_load_xor_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b),
  (atomic_load_xor_64 node:$a, node:$b)>;

defm INT_PTX_ATOM_XOR_G_32 : F_ATOMIC_2<Int32Regs, ".global", ".b32", ".xor",
  atomic_load_xor_32_g, i32imm, imm>;
defm INT_PTX_ATOM_XOR_S_32 : F_ATOMIC_2<Int32Regs, ".shared", ".b32", ".xor",
  atomic_load_xor_32_s, i32imm, imm>;
defm INT_PTX_ATOM_XOR_GEN_32 : F_ATOMIC_2<Int32Regs, "", ".b32", ".xor",
  atomic_load_xor_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_XOR_GEN_32_USE_G : F_ATOMIC_2<Int32Regs, ".global", ".b32",
  ".xor", atomic_load_xor_32_gen, i32imm, imm>;
defm INT_PTX_ATOM_XOR_G_64 : F_ATOMIC_2<Int64Regs, ".global", ".b64", ".xor",
  atomic_load_xor_64_g, i64imm, imm>;
defm INT_PTX_ATOM_XOR_S_64 : F_ATOMIC_2<Int64Regs, ".shared", ".b64", ".xor",
  atomic_load_xor_64_s, i64imm, imm>;
defm INT_PTX_ATOM_XOR_GEN_64 : F_ATOMIC_2<Int64Regs, "", ".b64", ".xor",
  atomic_load_xor_64_gen, i64imm, imm>;
defm INT_PTX_ATOM_XOR_GEN_64_USE_G : F_ATOMIC_2<Int64Regs, ".global", ".b64",
  ".xor", atomic_load_xor_64_gen, i64imm, imm>;

// atom_cas

def atomic_cmp_swap_32_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b, node:$c),
  (atomic_cmp_swap_32 node:$a, node:$b, node:$c)>;
def atomic_cmp_swap_32_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b, node:$c),
  (atomic_cmp_swap_32 node:$a, node:$b, node:$c)>;
def atomic_cmp_swap_32_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b, node:$c),
  (atomic_cmp_swap_32 node:$a, node:$b, node:$c)>;
def atomic_cmp_swap_64_g: ATOMIC_GLOBAL_CHK<(ops node:$a, node:$b, node:$c),
  (atomic_cmp_swap_64 node:$a, node:$b, node:$c)>;
def atomic_cmp_swap_64_s: ATOMIC_SHARED_CHK<(ops node:$a, node:$b, node:$c),
  (atomic_cmp_swap_64 node:$a, node:$b, node:$c)>;
def atomic_cmp_swap_64_gen: ATOMIC_GENERIC_CHK<(ops node:$a, node:$b, node:$c),
  (atomic_cmp_swap_64 node:$a, node:$b, node:$c)>;

defm INT_PTX_ATOM_CAS_G_32 : F_ATOMIC_3<Int32Regs, ".global", ".b32", ".cas",
  atomic_cmp_swap_32_g, i32imm>;
defm INT_PTX_ATOM_CAS_S_32 : F_ATOMIC_3<Int32Regs, ".shared", ".b32", ".cas",
  atomic_cmp_swap_32_s, i32imm>;
defm INT_PTX_ATOM_CAS_GEN_32 : F_ATOMIC_3<Int32Regs, "", ".b32", ".cas",
  atomic_cmp_swap_32_gen, i32imm>;
defm INT_PTX_ATOM_CAS_GEN_32_USE_G : F_ATOMIC_3<Int32Regs, ".global", ".b32",
  ".cas", atomic_cmp_swap_32_gen, i32imm>;
defm INT_PTX_ATOM_CAS_G_64 : F_ATOMIC_3<Int64Regs, ".global", ".b64", ".cas",
  atomic_cmp_swap_64_g, i64imm>;
defm INT_PTX_ATOM_CAS_S_64 : F_ATOMIC_3<Int64Regs, ".shared", ".b64", ".cas",
  atomic_cmp_swap_64_s, i64imm>;
defm INT_PTX_ATOM_CAS_GEN_64 : F_ATOMIC_3<Int64Regs, "", ".b64", ".cas",
  atomic_cmp_swap_64_gen, i64imm>;
defm INT_PTX_ATOM_CAS_GEN_64_USE_G : F_ATOMIC_3<Int64Regs, ".global", ".b64",
  ".cas", atomic_cmp_swap_64_gen, i64imm>;

// Support for scoped atomic operations.  Matches
// int_nvvm_atomic_{op}_{space}_{type}_{scope}
// and converts it into the appropriate instruction.
// NOTE: not all possible combinations are implemented
//  'space' is limited to generic as it's the only one needed to support CUDA.
//  'scope' = 'gpu' is default and is handled by regular atomic instructions.
class ATOM23_impl<string AsmStr, NVPTXRegClass regclass, list<Predicate> Preds,
                  dag ins, dag Operands>
      : NVPTXInst<(outs regclass:$result), ins,
                  AsmStr,
                  [(set regclass:$result, Operands)]>,
        Requires<Preds>;

// Define instruction variants for all addressing modes.
multiclass ATOM2P_impl<string AsmStr,  Intrinsic Intr,
                       NVPTXRegClass regclass, Operand ImmType,
                       SDNode Imm, ValueType ImmTy,
                       list<Predicate> Preds> {
  let AddedComplexity = 1 in {
    def : ATOM23_impl<AsmStr, regclass, Preds,
                      (ins Int32Regs:$src, regclass:$b),
                      (Intr Int32Regs:$src, regclass:$b)>;
    def : ATOM23_impl<AsmStr, regclass, Preds,
                      (ins Int64Regs:$src, regclass:$b),
                      (Intr Int64Regs:$src, regclass:$b)>;
  }
  // tablegen can't infer argument types from Intrinsic (though it can
  // from Instruction) so we have to enforce specific type on
  // immediates via explicit cast to ImmTy.
  def : ATOM23_impl<AsmStr, regclass, Preds,
                    (ins Int32Regs:$src, ImmType:$b),
                    (Intr Int32Regs:$src, (ImmTy Imm:$b))>;
  def : ATOM23_impl<AsmStr, regclass, Preds,
                    (ins Int64Regs:$src, ImmType:$b),
                    (Intr Int64Regs:$src, (ImmTy Imm:$b))>;
}

multiclass ATOM3P_impl<string AsmStr,  Intrinsic Intr,
                       NVPTXRegClass regclass, Operand ImmType,
                       SDNode Imm, ValueType ImmTy,
                       list<Predicate> Preds> {
  // Variants for register/immediate permutations of $b and $c
  let AddedComplexity = 2 in {
    def : ATOM23_impl<AsmStr, regclass, Preds,
                      (ins Int32Regs:$src, regclass:$b, regclass:$c),
                      (Intr Int32Regs:$src, regclass:$b, regclass:$c)>;
    def : ATOM23_impl<AsmStr, regclass, Preds,
                      (ins Int64Regs:$src, regclass:$b, regclass:$c),
                      (Intr Int64Regs:$src, regclass:$b, regclass:$c)>;
  }
  let AddedComplexity = 1 in {
    def : ATOM23_impl<AsmStr, regclass, Preds,
                      (ins Int32Regs:$src, ImmType:$b, regclass:$c),
                      (Intr Int32Regs:$src, (ImmTy Imm:$b), regclass:$c)>;
    def : ATOM23_impl<AsmStr, regclass, Preds,
                      (ins Int64Regs:$src, ImmType:$b, regclass:$c),
                      (Intr Int64Regs:$src, (ImmTy Imm:$b), regclass:$c)>;
    def : ATOM23_impl<AsmStr, regclass, Preds,
                      (ins Int32Regs:$src, regclass:$b, ImmType:$c),
                      (Intr Int32Regs:$src, regclass:$b, (ImmTy Imm:$c))>;
    def : ATOM23_impl<AsmStr, regclass, Preds,
                      (ins Int64Regs:$src, regclass:$b, ImmType:$c),
                      (Intr Int64Regs:$src, regclass:$b, (ImmTy Imm:$c))>;
  }
  def : ATOM23_impl<AsmStr, regclass, Preds,
                    (ins Int32Regs:$src, ImmType:$b, ImmType:$c),
                    (Intr Int32Regs:$src, (ImmTy Imm:$b), (ImmTy Imm:$c))>;
  def : ATOM23_impl<AsmStr, regclass, Preds,
                    (ins Int64Regs:$src, ImmType:$b, ImmType:$c),
                    (Intr Int64Regs:$src, (ImmTy Imm:$b), (ImmTy Imm:$c))>;
}

// Constructs instrinsic name and instruction asm strings.
multiclass ATOM2N_impl<string OpStr, string IntTypeStr, string TypeStr,
                       string ScopeStr, string SpaceStr,
                       NVPTXRegClass regclass, Operand ImmType, SDNode Imm,
                       ValueType ImmTy, list<Predicate> Preds> {
  defm : ATOM2P_impl<"atom" # !if(!eq(SpaceStr, "gen"), "", "." # SpaceStr)
                            # !if(!eq(ScopeStr, "gpu"), "", "." # ScopeStr)
                            # "." # OpStr # "." # TypeStr
                            # " \t$result, [$src], $b;",
                     !cast<Intrinsic>(
                            "int_nvvm_atomic_" # OpStr
                            # "_" # SpaceStr # "_" # IntTypeStr
                            # !if(!eq(ScopeStr,""), "", "_" # ScopeStr)),
                     regclass, ImmType, Imm, ImmTy, Preds>;
}
multiclass ATOM3N_impl<string OpStr, string IntTypeStr, string TypeStr,
                       string ScopeStr, string SpaceStr,
                       NVPTXRegClass regclass, Operand ImmType, SDNode Imm,
                       ValueType ImmTy, list<Predicate> Preds> {
  defm : ATOM3P_impl<"atom" # !if(!eq(SpaceStr, "gen"), "", "." # SpaceStr)
                            # !if(!eq(ScopeStr, "gpu"), "", "." # ScopeStr)
                            # "." # OpStr # "." # TypeStr
                            # " \t$result, [$src], $b, $c;",
                     !cast<Intrinsic>(
                            "int_nvvm_atomic_" # OpStr
                            # "_" # SpaceStr # "_" # IntTypeStr
                            # !if(!eq(ScopeStr,""), "", "_" # ScopeStr)),
                     regclass, ImmType, Imm, ImmTy, Preds>;
}

// Constructs variants for different address spaces.
// For now we only need variants for generic space pointers.
multiclass ATOM2A_impl<string OpStr, string IntTypeStr, string TypeStr,
                       string ScopeStr, NVPTXRegClass regclass, Operand ImmType,
                       SDNode Imm, ValueType ImmTy, list<Predicate> Preds> {
   defm _gen_ : ATOM2N_impl<OpStr, IntTypeStr, TypeStr, ScopeStr, "gen",
                            regclass, ImmType, Imm, ImmTy, Preds>;
}
multiclass ATOM3A_impl<string OpStr, string IntTypeStr, string TypeStr,
                       string ScopeStr, NVPTXRegClass regclass, Operand ImmType,
                       SDNode Imm, ValueType ImmTy, list<Predicate> Preds> {
   defm _gen_ : ATOM3N_impl<OpStr, IntTypeStr, TypeStr, ScopeStr, "gen",
                            regclass, ImmType, Imm, ImmTy, Preds>;
}

// Constructs variants for different scopes of atomic op.
multiclass ATOM2S_impl<string OpStr, string IntTypeStr, string TypeStr,
                       NVPTXRegClass regclass, Operand ImmType, SDNode Imm,
                       ValueType ImmTy, list<Predicate> Preds> {
   // .gpu scope is default and is currently covered by existing
   // atomics w/o explicitly specified scope.
   defm _cta : ATOM2A_impl<OpStr, IntTypeStr, TypeStr, "cta",
                           regclass, ImmType, Imm, ImmTy,
                           !listconcat(Preds,[hasAtomScope])>;
   defm _sys : ATOM2A_impl<OpStr, IntTypeStr, TypeStr, "sys",
                           regclass, ImmType, Imm, ImmTy,
                           !listconcat(Preds,[hasAtomScope])>;
}
multiclass ATOM3S_impl<string OpStr, string IntTypeStr, string TypeStr,
           NVPTXRegClass regclass, Operand ImmType, SDNode Imm, ValueType ImmTy,
           list<Predicate> Preds> {
   // No need to define ".gpu"-scoped atomics.  They do the same thing
   // as the regular, non-scoped atomics defined elsewhere.
   defm _cta : ATOM3A_impl<OpStr, IntTypeStr, TypeStr, "cta",
                           regclass, ImmType, Imm, ImmTy,
                           !listconcat(Preds,[hasAtomScope])>;
   defm _sys : ATOM3A_impl<OpStr, IntTypeStr, TypeStr, "sys",
                           regclass, ImmType, Imm, ImmTy,
                           !listconcat(Preds,[hasAtomScope])>;
}

// atom.add
multiclass ATOM2_add_impl<string OpStr> {
   defm _s32  : ATOM2S_impl<OpStr, "i", "s32", Int32Regs, i32imm, imm, i32, []>;
   defm _u32  : ATOM2S_impl<OpStr, "i", "u32", Int32Regs, i32imm, imm, i32, []>;
   defm _u64  : ATOM2S_impl<OpStr, "i", "u64", Int64Regs, i64imm, imm, i64, []>;
   defm _f32  : ATOM2S_impl<OpStr, "f", "f32", Float32Regs, f32imm, fpimm, f32,
                            []>;
   defm _f64  : ATOM2S_impl<OpStr, "f", "f64", Float64Regs, f64imm, fpimm, f64,
                            [hasAtomAddF64]>;
}

// atom.{and,or,xor}
multiclass ATOM2_bitwise_impl<string OpStr> {
   defm _b32  : ATOM2S_impl<OpStr, "i", "b32", Int32Regs, i32imm, imm, i32, []>;
   defm _b64  : ATOM2S_impl<OpStr, "i", "b64", Int64Regs, i64imm, imm, i64,
                            [hasAtomBitwise64]>;
}

// atom.exch
multiclass ATOM2_exch_impl<string OpStr> {
   defm _b32 : ATOM2S_impl<OpStr, "i", "b32", Int32Regs, i32imm, imm, i32, []>;
   defm _b64 : ATOM2S_impl<OpStr, "i", "b64", Int64Regs, i64imm, imm, i64, []>;
}

// atom.{min,max}
multiclass ATOM2_minmax_impl<string OpStr> {
   defm _s32  : ATOM2S_impl<OpStr, "i", "s32", Int32Regs, i32imm, imm, i32, []>;
   defm _u32  : ATOM2S_impl<OpStr, "i", "u32", Int32Regs, i32imm, imm, i32, []>;
   defm _s64  : ATOM2S_impl<OpStr, "i", "s64", Int64Regs, i64imm, imm, i64,
                            [hasAtomMinMax64]>;
   defm _u64  : ATOM2S_impl<OpStr, "i", "u64", Int64Regs, i64imm, imm, i64,
                            [hasAtomMinMax64]>;
}

// atom.{inc,dec}
multiclass ATOM2_incdec_impl<string OpStr> {
   defm _u32  : ATOM2S_impl<OpStr, "i", "u32", Int32Regs, i32imm, imm, i32, []>;
}

// atom.cas
multiclass ATOM3_cas_impl<string OpStr> {
   defm _b32  : ATOM3S_impl<OpStr, "i", "b32", Int32Regs, i32imm, imm, i32, []>;
   defm _b64  : ATOM3S_impl<OpStr, "i", "b64", Int64Regs, i64imm, imm, i64, []>;
}

defm INT_PTX_SATOM_ADD : ATOM2_add_impl<"add">;
defm INT_PTX_SATOM_AND : ATOM2_bitwise_impl<"and">;
defm INT_PTX_SATOM_CAS : ATOM3_cas_impl<"cas">;
defm INT_PTX_SATOM_DEC : ATOM2_incdec_impl<"dec">;
defm INT_PTX_SATOM_EXCH: ATOM2_exch_impl<"exch">;
defm INT_PTX_SATOM_INC : ATOM2_incdec_impl<"inc">;
defm INT_PTX_SATOM_MAX : ATOM2_minmax_impl<"max">;
defm INT_PTX_SATOM_MIN : ATOM2_minmax_impl<"min">;
defm INT_PTX_SATOM_OR  : ATOM2_bitwise_impl<"or">;
defm INT_PTX_SATOM_XOR : ATOM2_bitwise_impl<"xor">;

//-----------------------------------
// Support for ldu on sm_20 or later
//-----------------------------------

// Don't annotate ldu instructions as mayLoad, as they load from memory that is
// read-only in a kernel.

// Scalar

multiclass LDU_G<string TyStr, NVPTXRegClass regclass> {
  def areg: NVPTXInst<(outs regclass:$result), (ins Int32Regs:$src),
               !strconcat("ldu.global.", TyStr),
                      []>, Requires<[hasLDU]>;
  def areg64: NVPTXInst<(outs regclass:$result), (ins Int64Regs:$src),
               !strconcat("ldu.global.", TyStr),
                        []>, Requires<[hasLDU]>;
 def avar:  NVPTXInst<(outs regclass:$result), (ins imemAny:$src),
               !strconcat("ldu.global.", TyStr),
                      []>, Requires<[hasLDU]>;
 def ari :  NVPTXInst<(outs regclass:$result), (ins MEMri:$src),
               !strconcat("ldu.global.", TyStr),
                      []>, Requires<[hasLDU]>;
 def ari64 :  NVPTXInst<(outs regclass:$result), (ins MEMri64:$src),
               !strconcat("ldu.global.", TyStr),
                        []>, Requires<[hasLDU]>;
}

defm INT_PTX_LDU_GLOBAL_i8  : LDU_G<"u8 \t$result, [$src];", Int16Regs>;
defm INT_PTX_LDU_GLOBAL_i16 : LDU_G<"u16 \t$result, [$src];", Int16Regs>;
defm INT_PTX_LDU_GLOBAL_i32 : LDU_G<"u32 \t$result, [$src];", Int32Regs>;
defm INT_PTX_LDU_GLOBAL_i64 : LDU_G<"u64 \t$result, [$src];", Int64Regs>;
defm INT_PTX_LDU_GLOBAL_f16 : LDU_G<"b16 \t$result, [$src];", Float16Regs>;
defm INT_PTX_LDU_GLOBAL_f16x2 : LDU_G<"b32 \t$result, [$src];", Float16x2Regs>;
defm INT_PTX_LDU_GLOBAL_f32 : LDU_G<"f32 \t$result, [$src];", Float32Regs>;
defm INT_PTX_LDU_GLOBAL_f64 : LDU_G<"f64 \t$result, [$src];", Float64Regs>;
defm INT_PTX_LDU_GLOBAL_p32 : LDU_G<"u32 \t$result, [$src];", Int32Regs>;
defm INT_PTX_LDU_GLOBAL_p64 : LDU_G<"u64 \t$result, [$src];", Int64Regs>;

// vector

// Elementized vector ldu
multiclass VLDU_G_ELE_V2<string TyStr, NVPTXRegClass regclass> {
 def _areg32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2),
                     (ins Int32Regs:$src),
                     !strconcat("ldu.global.", TyStr), []>;
 def _areg64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2),
                     (ins Int64Regs:$src),
                     !strconcat("ldu.global.", TyStr), []>;
 def _ari32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2),
                     (ins MEMri:$src),
                     !strconcat("ldu.global.", TyStr), []>;
 def _ari64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2),
                     (ins MEMri64:$src),
                     !strconcat("ldu.global.", TyStr), []>;
 def _avar: NVPTXInst<(outs regclass:$dst1, regclass:$dst2),
                     (ins imemAny:$src),
                     !strconcat("ldu.global.", TyStr), []>;
}

multiclass VLDU_G_ELE_V4<string TyStr, NVPTXRegClass regclass> { 
 def _areg32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3,
                            regclass:$dst4), (ins Int32Regs:$src), 
               !strconcat("ldu.global.", TyStr), []>;
 def _areg64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3,
                            regclass:$dst4), (ins Int64Regs:$src), 
               !strconcat("ldu.global.", TyStr), []>;
 def _ari32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3,
                            regclass:$dst4), (ins MEMri:$src), 
               !strconcat("ldu.global.", TyStr), []>;
 def _ari64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3,
                            regclass:$dst4), (ins MEMri64:$src), 
               !strconcat("ldu.global.", TyStr), []>;
 def _avar: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3,
                            regclass:$dst4), (ins imemAny:$src), 
               !strconcat("ldu.global.", TyStr), []>;
}

defm INT_PTX_LDU_G_v2i8_ELE
  : VLDU_G_ELE_V2<"v2.u8 \t{{$dst1, $dst2}}, [$src];",  Int16Regs>;
defm INT_PTX_LDU_G_v2i16_ELE
  : VLDU_G_ELE_V2<"v2.u16 \t{{$dst1, $dst2}}, [$src];", Int16Regs>;
defm INT_PTX_LDU_G_v2i32_ELE
  : VLDU_G_ELE_V2<"v2.u32 \t{{$dst1, $dst2}}, [$src];", Int32Regs>;
defm INT_PTX_LDU_G_v2f16_ELE
  : VLDU_G_ELE_V2<"v2.b16 \t{{$dst1, $dst2}}, [$src];", Float16Regs>;
defm INT_PTX_LDU_G_v2f16x2_ELE
  : VLDU_G_ELE_V2<"v2.b32 \t{{$dst1, $dst2}}, [$src];", Float16x2Regs>;
defm INT_PTX_LDU_G_v2f32_ELE
  : VLDU_G_ELE_V2<"v2.f32 \t{{$dst1, $dst2}}, [$src];", Float32Regs>;
defm INT_PTX_LDU_G_v2i64_ELE
  : VLDU_G_ELE_V2<"v2.u64 \t{{$dst1, $dst2}}, [$src];", Int64Regs>;
defm INT_PTX_LDU_G_v2f64_ELE
  : VLDU_G_ELE_V2<"v2.f64 \t{{$dst1, $dst2}}, [$src];", Float64Regs>;
defm INT_PTX_LDU_G_v4i8_ELE
  : VLDU_G_ELE_V4<"v4.u8 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];", Int16Regs>;
defm INT_PTX_LDU_G_v4i16_ELE
  : VLDU_G_ELE_V4<"v4.u16 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];",
    Int16Regs>;
defm INT_PTX_LDU_G_v4i32_ELE
  : VLDU_G_ELE_V4<"v4.u32 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];",
    Int32Regs>;
defm INT_PTX_LDU_G_v4f16_ELE
  : VLDU_G_ELE_V4<"v4.b16 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];",
    Float16Regs>;
defm INT_PTX_LDU_G_v4f16x2_ELE
  : VLDU_G_ELE_V4<"v4.b32 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];",
    Float16x2Regs>;
defm INT_PTX_LDU_G_v4f32_ELE
  : VLDU_G_ELE_V4<"v4.f32 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];",
    Float32Regs>;


//-----------------------------------
// Support for ldg on sm_35 or later 
//-----------------------------------

// Don't annotate ld.global.nc as mayLoad, because these loads go through the
// non-coherent texture cache, and therefore the values read must be read-only
// during the lifetime of the kernel.

multiclass LDG_G<string TyStr, NVPTXRegClass regclass> {
  def areg: NVPTXInst<(outs regclass:$result), (ins Int32Regs:$src),
               !strconcat("ld.global.nc.", TyStr),
                      []>, Requires<[hasLDG]>;
  def areg64: NVPTXInst<(outs regclass:$result), (ins Int64Regs:$src),
               !strconcat("ld.global.nc.", TyStr),
                        []>, Requires<[hasLDG]>;
 def avar:  NVPTXInst<(outs regclass:$result), (ins imemAny:$src),
               !strconcat("ld.global.nc.", TyStr),
                      []>, Requires<[hasLDG]>;
 def ari :  NVPTXInst<(outs regclass:$result), (ins MEMri:$src),
               !strconcat("ld.global.nc.", TyStr),
                      []>, Requires<[hasLDG]>;
 def ari64 :  NVPTXInst<(outs regclass:$result), (ins MEMri64:$src),
               !strconcat("ld.global.nc.", TyStr),
                        []>, Requires<[hasLDG]>;
}

defm INT_PTX_LDG_GLOBAL_i8
  : LDG_G<"u8 \t$result, [$src];", Int16Regs>;
defm INT_PTX_LDG_GLOBAL_i16
  : LDG_G<"u16 \t$result, [$src];", Int16Regs>;
defm INT_PTX_LDG_GLOBAL_i32
  : LDG_G<"u32 \t$result, [$src];", Int32Regs>;
defm INT_PTX_LDG_GLOBAL_i64
  : LDG_G<"u64 \t$result, [$src];", Int64Regs>;
defm INT_PTX_LDG_GLOBAL_f16
  : LDG_G<"b16 \t$result, [$src];", Float16Regs>;
defm INT_PTX_LDG_GLOBAL_f16x2
  : LDG_G<"b32 \t$result, [$src];", Float16x2Regs>;
defm INT_PTX_LDG_GLOBAL_f32
  : LDG_G<"f32 \t$result, [$src];", Float32Regs>;
defm INT_PTX_LDG_GLOBAL_f64
  : LDG_G<"f64 \t$result, [$src];", Float64Regs>;
defm INT_PTX_LDG_GLOBAL_p32
  : LDG_G<"u32 \t$result, [$src];", Int32Regs>;
defm INT_PTX_LDG_GLOBAL_p64
  : LDG_G<"u64 \t$result, [$src];", Int64Regs>;

// vector

// Elementized vector ldg 
multiclass VLDG_G_ELE_V2<string TyStr, NVPTXRegClass regclass> {
 def _areg32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2),
                     (ins Int32Regs:$src),
                     !strconcat("ld.global.nc.", TyStr), []>;
 def _areg64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2),
                     (ins Int64Regs:$src),
                     !strconcat("ld.global.nc.", TyStr), []>;
 def _ari32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2),
                     (ins MEMri:$src),
                     !strconcat("ld.global.nc.", TyStr), []>;
 def _ari64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2),
                     (ins MEMri64:$src),
                     !strconcat("ld.global.nc.", TyStr), []>;
 def _avar: NVPTXInst<(outs regclass:$dst1, regclass:$dst2),
                     (ins imemAny:$src),
                     !strconcat("ld.global.nc.", TyStr), []>;
}

multiclass VLDG_G_ELE_V4<string TyStr, NVPTXRegClass regclass> { 
  def _areg32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3,
                              regclass:$dst4), (ins Int32Regs:$src), 
               !strconcat("ld.global.nc.", TyStr), []>;
  def _areg64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3,
                               regclass:$dst4), (ins Int64Regs:$src), 
               !strconcat("ld.global.nc.", TyStr), []>;
  def _ari32: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3,
                              regclass:$dst4), (ins MEMri:$src), 
               !strconcat("ld.global.nc.", TyStr), []>;
  def _ari64: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3,
                              regclass:$dst4), (ins MEMri64:$src), 
               !strconcat("ld.global.nc.", TyStr), []>;
  def _avar: NVPTXInst<(outs regclass:$dst1, regclass:$dst2, regclass:$dst3,
                             regclass:$dst4), (ins imemAny:$src), 
               !strconcat("ld.global.nc.", TyStr), []>;
}

// FIXME: 8-bit LDG should be fixed once LDG/LDU nodes are made into proper loads.
defm INT_PTX_LDG_G_v2i8_ELE
  : VLDG_G_ELE_V2<"v2.u8 \t{{$dst1, $dst2}}, [$src];",  Int16Regs>;
defm INT_PTX_LDG_G_v2i16_ELE
  : VLDG_G_ELE_V2<"v2.u16 \t{{$dst1, $dst2}}, [$src];", Int16Regs>;
defm INT_PTX_LDG_G_v2i32_ELE
  : VLDG_G_ELE_V2<"v2.u32 \t{{$dst1, $dst2}}, [$src];", Int32Regs>;
defm INT_PTX_LDG_G_v2f16_ELE
  : VLDG_G_ELE_V2<"v2.b16 \t{{$dst1, $dst2}}, [$src];", Float16Regs>;
defm INT_PTX_LDG_G_v2f16x2_ELE
  : VLDG_G_ELE_V2<"v2.b32 \t{{$dst1, $dst2}}, [$src];", Float16x2Regs>;
defm INT_PTX_LDG_G_v2f32_ELE
  : VLDG_G_ELE_V2<"v2.f32 \t{{$dst1, $dst2}}, [$src];", Float32Regs>;
defm INT_PTX_LDG_G_v2i64_ELE
  : VLDG_G_ELE_V2<"v2.u64 \t{{$dst1, $dst2}}, [$src];", Int64Regs>;
defm INT_PTX_LDG_G_v2f64_ELE
  : VLDG_G_ELE_V2<"v2.f64 \t{{$dst1, $dst2}}, [$src];", Float64Regs>;
defm INT_PTX_LDG_G_v4i8_ELE
  : VLDG_G_ELE_V4<"v4.u8 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];", Int16Regs>;
defm INT_PTX_LDG_G_v4i16_ELE
  : VLDG_G_ELE_V4<"v4.u16 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];", Int16Regs>;
defm INT_PTX_LDG_G_v4i32_ELE
  : VLDG_G_ELE_V4<"v4.u32 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];", Int32Regs>;
defm INT_PTX_LDG_G_v4f16_ELE
  : VLDG_G_ELE_V4<"v4.b16 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];", Float16Regs>;
defm INT_PTX_LDG_G_v4f16x2_ELE
  : VLDG_G_ELE_V4<"v4.b32 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];", Float16x2Regs>;
defm INT_PTX_LDG_G_v4f32_ELE
  : VLDG_G_ELE_V4<"v4.f32 \t{{$dst1, $dst2, $dst3, $dst4}}, [$src];", Float32Regs>;


multiclass NG_TO_G<string Str, Intrinsic Intrin> {
   def _yes : NVPTXInst<(outs Int32Regs:$result), (ins Int32Regs:$src),
          !strconcat("cvta.", Str, ".u32 \t$result, $src;"),
      [(set Int32Regs:$result, (Intrin Int32Regs:$src))]>;
   def _yes_64 : NVPTXInst<(outs Int64Regs:$result), (ins Int64Regs:$src),
          !strconcat("cvta.", Str, ".u64 \t$result, $src;"),
      [(set Int64Regs:$result, (Intrin Int64Regs:$src))]>;
   def _yes_6432 : NVPTXInst<(outs Int64Regs:$result), (ins Int32Regs:$src),
          "{{ .reg .b64 %tmp;\n\t"
          #"  cvt.u64.u32 \t%tmp, $src;\n\t"
          #"  cvta." # Str # ".u64 \t$result, %tmp; }}",
      [(set Int64Regs:$result, (Intrin Int32Regs:$src))]>,
      Requires<[useShortPtr]>;
}

multiclass G_TO_NG<string Str, Intrinsic Intrin> {
   def _yes : NVPTXInst<(outs Int32Regs:$result), (ins Int32Regs:$src),
          !strconcat("cvta.to.", Str, ".u32 \t$result, $src;"),
      [(set Int32Regs:$result, (Intrin Int32Regs:$src))]>;
   def _yes_64 : NVPTXInst<(outs Int64Regs:$result), (ins Int64Regs:$src),
          !strconcat("cvta.to.", Str, ".u64 \t$result, $src;"),
      [(set Int64Regs:$result, (Intrin Int64Regs:$src))]>;
   def _yes_3264 : NVPTXInst<(outs Int32Regs:$result), (ins Int64Regs:$src),
          "{{ .reg .b64 %tmp;\n\t"
          #"  cvta.to." # Str # ".u64 \t%tmp, $src;\n\t"
          #"  cvt.u32.u64 \t$result, %tmp; }}",
      [(set Int32Regs:$result, (Intrin Int64Regs:$src))]>,
      Requires<[useShortPtr]>;
}

defm cvta_local  : NG_TO_G<"local", int_nvvm_ptr_local_to_gen>;
defm cvta_shared : NG_TO_G<"shared", int_nvvm_ptr_shared_to_gen>;
defm cvta_global : NG_TO_G<"global", int_nvvm_ptr_global_to_gen>;
defm cvta_const  : NG_TO_G<"const", int_nvvm_ptr_constant_to_gen>;

defm cvta_to_local   : G_TO_NG<"local", int_nvvm_ptr_gen_to_local>;
defm cvta_to_shared : G_TO_NG<"shared", int_nvvm_ptr_gen_to_shared>;
defm cvta_to_global : G_TO_NG<"global", int_nvvm_ptr_gen_to_global>;
defm cvta_to_const  : G_TO_NG<"const", int_nvvm_ptr_gen_to_constant>;


// nvvm.ptr.gen.to.param
def nvvm_ptr_gen_to_param : NVPTXInst<(outs Int32Regs:$result),
  (ins Int32Regs:$src),
                        "mov.u32 \t$result, $src;",
                              [(set Int32Regs:$result,
                                (int_nvvm_ptr_gen_to_param Int32Regs:$src))]>;
def nvvm_ptr_gen_to_param_64 : NVPTXInst<(outs Int64Regs:$result),
  (ins Int64Regs:$src),
                        "mov.u64 \t$result, $src;",
                              [(set Int64Regs:$result,
                                (int_nvvm_ptr_gen_to_param Int64Regs:$src))]>;


// nvvm.move intrinsicc
def nvvm_move_i16 : NVPTXInst<(outs Int16Regs:$r), (ins Int16Regs:$s),
                             "mov.b16 \t$r, $s;",
                             [(set Int16Regs:$r,
                               (int_nvvm_move_i16 Int16Regs:$s))]>;
def nvvm_move_i32 : NVPTXInst<(outs Int32Regs:$r), (ins Int32Regs:$s),
                             "mov.b32 \t$r, $s;",
                             [(set Int32Regs:$r,
                               (int_nvvm_move_i32 Int32Regs:$s))]>;
def nvvm_move_i64 : NVPTXInst<(outs Int64Regs:$r), (ins Int64Regs:$s),
                             "mov.b64 \t$r, $s;",
                             [(set Int64Regs:$r,
                               (int_nvvm_move_i64 Int64Regs:$s))]>;
def nvvm_move_float : NVPTXInst<(outs Float32Regs:$r), (ins Float32Regs:$s),
                             "mov.f32 \t$r, $s;",
                             [(set Float32Regs:$r,
                               (int_nvvm_move_float Float32Regs:$s))]>;
def nvvm_move_double : NVPTXInst<(outs Float64Regs:$r), (ins Float64Regs:$s),
                             "mov.f64 \t$r, $s;",
                             [(set Float64Regs:$r,
                               (int_nvvm_move_double Float64Regs:$s))]>;
def nvvm_move_ptr32 : NVPTXInst<(outs Int32Regs:$r), (ins Int32Regs:$s),
                             "mov.u32 \t$r, $s;",
                             [(set Int32Regs:$r,
                               (int_nvvm_move_ptr Int32Regs:$s))]>;
def nvvm_move_ptr64 : NVPTXInst<(outs Int64Regs:$r), (ins Int64Regs:$s),
                             "mov.u64 \t$r, $s;",
                             [(set Int64Regs:$r,
                               (int_nvvm_move_ptr Int64Regs:$s))]>;

// @TODO: Are these actually needed, or will we always just see symbols
// copied to registers first?
/*def nvvm_move_sym32 : NVPTXInst<(outs Int32Regs:$r), (ins imem:$s),
                             "mov.u32 \t$r, $s;",
                             [(set Int32Regs:$r,
                             (int_nvvm_move_ptr texternalsym:$s))]>;
def nvvm_move_sym64 : NVPTXInst<(outs Int64Regs:$r), (ins imem:$s),
                             "mov.u64 \t$r, $s;",
                             [(set Int64Regs:$r,
                             (int_nvvm_move_ptr texternalsym:$s))]>;*/


// MoveParam        %r1, param
// ptr_local_to_gen %r2, %r1
// ptr_gen_to_local %r3, %r2
// ->
// mov %r1, param

// @TODO: Revisit this.  There is a type
// contradiction between iPTRAny and iPTR for the addr defs, so the move_sym
// instructions are not currently defined. However, we can use the ptr
// variants and the asm printer will do the right thing.
def : Pat<(i64 (int_nvvm_ptr_gen_to_local (int_nvvm_ptr_local_to_gen
                (MoveParam texternalsym:$src)))),
               (nvvm_move_ptr64  texternalsym:$src)>;
def : Pat<(i32 (int_nvvm_ptr_gen_to_local (int_nvvm_ptr_local_to_gen
                (MoveParam texternalsym:$src)))),
               (nvvm_move_ptr32  texternalsym:$src)>;

def texsurf_handles
  : NVPTXInst<(outs Int64Regs:$result), (ins imem:$src),
              "mov.u64 \t$result, $src;", []>;

//-----------------------------------
// Compiler Error Warn
// - Just ignore them in codegen
//-----------------------------------

def INT_NVVM_COMPILER_WARN_32 : NVPTXInst<(outs), (ins Int32Regs:$a),
                "// llvm.nvvm.compiler.warn()",
                [(int_nvvm_compiler_warn Int32Regs:$a)]>;
def INT_NVVM_COMPILER_WARN_64 : NVPTXInst<(outs), (ins Int64Regs:$a),
                "// llvm.nvvm.compiler.warn()",
                [(int_nvvm_compiler_warn Int64Regs:$a)]>;
def INT_NVVM_COMPILER_ERROR_32 : NVPTXInst<(outs), (ins Int32Regs:$a),
                "// llvm.nvvm.compiler.error()",
                [(int_nvvm_compiler_error Int32Regs:$a)]>;
def INT_NVVM_COMPILER_ERROR_64 : NVPTXInst<(outs), (ins Int64Regs:$a),
                "// llvm.nvvm.compiler.error()",
                [(int_nvvm_compiler_error Int64Regs:$a)]>;


// isspacep

def ISSPACEP_CONST_32
  : NVPTXInst<(outs Int1Regs:$d), (ins Int32Regs:$a),
              "isspacep.const \t$d, $a;",
              [(set Int1Regs:$d, (int_nvvm_isspacep_const Int32Regs:$a))]>,
    Requires<[hasPTX31]>;
def ISSPACEP_CONST_64
  : NVPTXInst<(outs Int1Regs:$d), (ins Int64Regs:$a),
              "isspacep.const \t$d, $a;",
              [(set Int1Regs:$d, (int_nvvm_isspacep_const Int64Regs:$a))]>,
    Requires<[hasPTX31]>;
def ISSPACEP_GLOBAL_32
  : NVPTXInst<(outs Int1Regs:$d), (ins Int32Regs:$a),
              "isspacep.global \t$d, $a;",
              [(set Int1Regs:$d, (int_nvvm_isspacep_global Int32Regs:$a))]>;
def ISSPACEP_GLOBAL_64
  : NVPTXInst<(outs Int1Regs:$d), (ins Int64Regs:$a),
              "isspacep.global \t$d, $a;",
              [(set Int1Regs:$d, (int_nvvm_isspacep_global Int64Regs:$a))]>;
def ISSPACEP_LOCAL_32
  : NVPTXInst<(outs Int1Regs:$d), (ins Int32Regs:$a),
              "isspacep.local \t$d, $a;",
              [(set Int1Regs:$d, (int_nvvm_isspacep_local Int32Regs:$a))]>;
def ISSPACEP_LOCAL_64
  : NVPTXInst<(outs Int1Regs:$d), (ins Int64Regs:$a),
              "isspacep.local \t$d, $a;",
              [(set Int1Regs:$d, (int_nvvm_isspacep_local Int64Regs:$a))]>;
def ISSPACEP_SHARED_32
  : NVPTXInst<(outs Int1Regs:$d), (ins Int32Regs:$a),
              "isspacep.shared \t$d, $a;",
              [(set Int1Regs:$d, (int_nvvm_isspacep_shared Int32Regs:$a))]>;
def ISSPACEP_SHARED_64
  : NVPTXInst<(outs Int1Regs:$d), (ins Int64Regs:$a),
              "isspacep.shared \t$d, $a;",
              [(set Int1Regs:$d, (int_nvvm_isspacep_shared Int64Regs:$a))]>;


// Special register reads
def MOV_SPECIAL : NVPTXInst<(outs Int32Regs:$d),
                            (ins SpecialRegs:$r),
                            "mov.b32 \t$d, $r;", []>;

def : Pat<(int_nvvm_read_ptx_sreg_envreg0), (MOV_SPECIAL ENVREG0)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg1), (MOV_SPECIAL ENVREG1)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg2), (MOV_SPECIAL ENVREG2)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg3), (MOV_SPECIAL ENVREG3)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg4), (MOV_SPECIAL ENVREG4)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg5), (MOV_SPECIAL ENVREG5)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg6), (MOV_SPECIAL ENVREG6)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg7), (MOV_SPECIAL ENVREG7)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg8), (MOV_SPECIAL ENVREG8)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg9), (MOV_SPECIAL ENVREG9)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg10), (MOV_SPECIAL ENVREG10)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg11), (MOV_SPECIAL ENVREG11)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg12), (MOV_SPECIAL ENVREG12)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg13), (MOV_SPECIAL ENVREG13)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg14), (MOV_SPECIAL ENVREG14)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg15), (MOV_SPECIAL ENVREG15)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg16), (MOV_SPECIAL ENVREG16)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg17), (MOV_SPECIAL ENVREG17)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg18), (MOV_SPECIAL ENVREG18)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg19), (MOV_SPECIAL ENVREG19)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg20), (MOV_SPECIAL ENVREG20)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg21), (MOV_SPECIAL ENVREG21)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg22), (MOV_SPECIAL ENVREG22)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg23), (MOV_SPECIAL ENVREG23)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg24), (MOV_SPECIAL ENVREG24)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg25), (MOV_SPECIAL ENVREG25)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg26), (MOV_SPECIAL ENVREG26)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg27), (MOV_SPECIAL ENVREG27)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg28), (MOV_SPECIAL ENVREG28)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg29), (MOV_SPECIAL ENVREG29)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg30), (MOV_SPECIAL ENVREG30)>;
def : Pat<(int_nvvm_read_ptx_sreg_envreg31), (MOV_SPECIAL ENVREG31)>;


// rotate builtin support

def ROTATE_B32_HW_IMM
  : NVPTXInst<(outs Int32Regs:$dst),
              (ins  Int32Regs:$src, i32imm:$amt),
              "shf.l.wrap.b32 \t$dst, $src, $src, $amt;",
              [(set Int32Regs:$dst,
                 (int_nvvm_rotate_b32 Int32Regs:$src, (i32 imm:$amt)))]>,
              Requires<[hasHWROT32]> ;

def ROTATE_B32_HW_REG
  : NVPTXInst<(outs Int32Regs:$dst),
              (ins  Int32Regs:$src, Int32Regs:$amt),
              "shf.l.wrap.b32 \t$dst, $src, $src, $amt;",
              [(set Int32Regs:$dst,
                 (int_nvvm_rotate_b32 Int32Regs:$src, Int32Regs:$amt))]>,
              Requires<[hasHWROT32]> ;

def : Pat<(int_nvvm_rotate_b32 Int32Regs:$src, (i32 imm:$amt)),
          (ROT32imm_sw Int32Regs:$src, imm:$amt, (SUB_FRM_32 node:$amt))>,
      Requires<[noHWROT32]> ;

def : Pat<(int_nvvm_rotate_b32 Int32Regs:$src, Int32Regs:$amt),
          (ROTL32reg_sw Int32Regs:$src, Int32Regs:$amt)>,
      Requires<[noHWROT32]> ;

let hasSideEffects = 0 in {
  def GET_LO_INT64 : NVPTXInst<(outs Int32Regs:$dst), (ins Int64Regs:$src),
    !strconcat("{{\n\t",
               ".reg .b32 %dummy;\n\t",
               "mov.b64 \t{$dst,%dummy}, $src;\n\t",
               "}}"),
          []> ;

  def GET_HI_INT64 : NVPTXInst<(outs Int32Regs:$dst), (ins Int64Regs:$src),
    !strconcat("{{\n\t",
               ".reg .b32 %dummy;\n\t",
               "mov.b64 \t{%dummy,$dst}, $src;\n\t",
               "}}"),
          []> ;
}

let hasSideEffects = 0 in {
  def PACK_TWO_INT32
    : NVPTXInst<(outs Int64Regs:$dst), (ins Int32Regs:$lo, Int32Regs:$hi),
                "mov.b64 \t$dst, {{$lo, $hi}};", []> ;
}

def : Pat<(int_nvvm_swap_lo_hi_b64 Int64Regs:$src),
          (PACK_TWO_INT32 (GET_HI_INT64 Int64Regs:$src),
                          (GET_LO_INT64 Int64Regs:$src))> ;

// Funnel shift, requires >= sm_32.  Does not trap if amt is out of range, so
// no side effects.
let hasSideEffects = 0 in {
  def SHF_L_WRAP_B32_IMM
    : NVPTXInst<(outs Int32Regs:$dst),
                (ins  Int32Regs:$lo, Int32Regs:$hi, i32imm:$amt),
                "shf.l.wrap.b32 \t$dst, $lo, $hi, $amt;",[]>,
      Requires<[hasHWROT32]>;

  def SHF_L_WRAP_B32_REG
    : NVPTXInst<(outs Int32Regs:$dst),
                (ins  Int32Regs:$lo, Int32Regs:$hi, Int32Regs:$amt),
                "shf.l.wrap.b32 \t$dst, $lo, $hi, $amt;",[]>,
      Requires<[hasHWROT32]>;

  def SHF_R_WRAP_B32_IMM
    : NVPTXInst<(outs Int32Regs:$dst),
                (ins  Int32Regs:$lo, Int32Regs:$hi, i32imm:$amt),
                "shf.r.wrap.b32 \t$dst, $lo, $hi, $amt;",[]>,
      Requires<[hasHWROT32]>;

  def SHF_R_WRAP_B32_REG
    : NVPTXInst<(outs Int32Regs:$dst),
                (ins  Int32Regs:$lo, Int32Regs:$hi, Int32Regs:$amt),
                "shf.r.wrap.b32 \t$dst, $lo, $hi, $amt;",[]>,
      Requires<[hasHWROT32]>;
}

// HW version of rotate 64
def : Pat<(int_nvvm_rotate_b64 Int64Regs:$src, (i32 imm:$amt)),
          (PACK_TWO_INT32
            (SHF_L_WRAP_B32_IMM (GET_HI_INT64 Int64Regs:$src),
                                (GET_LO_INT64 Int64Regs:$src), imm:$amt),
            (SHF_L_WRAP_B32_IMM (GET_LO_INT64 Int64Regs:$src),
                                (GET_HI_INT64 Int64Regs:$src), imm:$amt))>,
      Requires<[hasHWROT32]>;

def : Pat<(int_nvvm_rotate_b64 Int64Regs:$src, Int32Regs:$amt),
          (PACK_TWO_INT32
            (SHF_L_WRAP_B32_REG (GET_HI_INT64 Int64Regs:$src),
                                (GET_LO_INT64 Int64Regs:$src), Int32Regs:$amt),
            (SHF_L_WRAP_B32_REG (GET_LO_INT64 Int64Regs:$src),
                               (GET_HI_INT64 Int64Regs:$src), Int32Regs:$amt))>,
      Requires<[hasHWROT32]>;


def : Pat<(int_nvvm_rotate_right_b64 Int64Regs:$src, (i32 imm:$amt)),
          (PACK_TWO_INT32
            (SHF_R_WRAP_B32_IMM (GET_LO_INT64 Int64Regs:$src),
                                (GET_HI_INT64 Int64Regs:$src), imm:$amt),
            (SHF_R_WRAP_B32_IMM (GET_HI_INT64 Int64Regs:$src),
                                (GET_LO_INT64 Int64Regs:$src), imm:$amt))>,
      Requires<[hasHWROT32]>;

def : Pat<(int_nvvm_rotate_right_b64 Int64Regs:$src, Int32Regs:$amt),
          (PACK_TWO_INT32
            (SHF_R_WRAP_B32_REG (GET_LO_INT64 Int64Regs:$src),
                                (GET_HI_INT64 Int64Regs:$src), Int32Regs:$amt),
            (SHF_R_WRAP_B32_REG (GET_HI_INT64 Int64Regs:$src),
                               (GET_LO_INT64 Int64Regs:$src), Int32Regs:$amt))>,
      Requires<[hasHWROT32]>;

// SW version of rotate 64
def : Pat<(int_nvvm_rotate_b64 Int64Regs:$src, (i32 imm:$amt)),
          (ROT64imm_sw Int64Regs:$src, imm:$amt, (SUB_FRM_32 node:$amt))>,
      Requires<[noHWROT32]>;
def : Pat<(int_nvvm_rotate_b64 Int64Regs:$src, Int32Regs:$amt),
          (ROTL64reg_sw Int64Regs:$src, Int32Regs:$amt)>,
      Requires<[noHWROT32]>;
def : Pat<(int_nvvm_rotate_right_b64 Int64Regs:$src, (i32 imm:$amt)),
          (ROT64imm_sw Int64Regs:$src, (SUB_FRM_64 node:$amt), imm:$amt)>,
      Requires<[noHWROT32]>;
def : Pat<(int_nvvm_rotate_right_b64 Int64Regs:$src, Int32Regs:$amt),
          (ROTR64reg_sw Int64Regs:$src, Int32Regs:$amt)>,
      Requires<[noHWROT32]>;


//-----------------------------------
// Texture Intrinsics
//-----------------------------------

// NOTE: For Fermi support, any new texture/surface/sampler intrinsics must be
// also defined in NVPTXReplaceImageHandles.cpp

// texmode_independent
let IsTex = 1, IsTexModeUnified = 0 in {
// Texture fetch instructions using handles
def TEX_1D_F32_S32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x),
              "tex.1d.v4.f32.s32 \t\\{$r, $g, $b, $a\\}, [$t, $s, \\{$x\\}];",
              []>;
def TEX_1D_F32_F32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x),
              "tex.1d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, [$t, $s, \\{$x\\}];",
              []>;
def TEX_1D_F32_F32_LEVEL
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$lod),
              "tex.level.1d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x\\}], $lod;",
              []>;
def TEX_1D_F32_F32_GRAD
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x,
                   Float32Regs:$gradx, Float32Regs:$grady),
              "tex.grad.1d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x\\}], \\{$gradx\\}, \\{$grady\\};",
              []>;
def TEX_1D_S32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x),
              "tex.1d.v4.s32.s32 \t\\{$r, $g, $b, $a\\}, [$t, $s, \\{$x\\}];",
              []>;
def TEX_1D_S32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x),
              "tex.1d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, [$t, $s, \\{$x\\}];",
              []>;
def TEX_1D_S32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x,
                   Float32Regs:$lod),
              "tex.level.1d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x\\}], $lod;",
              []>;
def TEX_1D_S32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x,
                   Float32Regs:$gradx, Float32Regs:$grady),
              "tex.grad.1d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x\\}], \\{$gradx\\}, \\{$grady\\};",
              []>;
def TEX_1D_U32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x),
              "tex.1d.v4.u32.s32 \t\\{$r, $g, $b, $a\\}, [$t, $s, \\{$x\\}];",
              []>;
def TEX_1D_U32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x),
              "tex.1d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, [$t, $s, \\{$x\\}];",
              []>;
def TEX_1D_U32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x,
                   Float32Regs:$lod),
              "tex.level.1d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x\\}], $lod;",
              []>;
def TEX_1D_U32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x,
                   Float32Regs:$gradx, Float32Regs:$grady),
              "tex.grad.1d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x\\}], \\{$gradx\\}, \\{$grady\\};",
              []>;

def TEX_1D_ARRAY_F32_S32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "tex.a1d.v4.f32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x\\}];",
              []>;
def TEX_1D_ARRAY_F32_F32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x),
              "tex.a1d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x\\}];",
              []>;
def TEX_1D_ARRAY_F32_F32_LEVEL
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$lod),
              "tex.level.a1d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x\\}], $lod;",
              []>;
def TEX_1D_ARRAY_F32_F32_GRAD
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$gradx, Float32Regs:$grady),
              "tex.grad.a1d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x\\}], \\{$gradx\\}, \\{$grady\\};",
              []>;
def TEX_1D_ARRAY_S32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "tex.a1d.v4.s32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x\\}];",
              []>;
def TEX_1D_ARRAY_S32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x),
              "tex.a1d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x\\}];",
              []>;
def TEX_1D_ARRAY_S32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$lod),
              "tex.level.a1d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x\\}], $lod;",
              []>;
def TEX_1D_ARRAY_S32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$gradx, Float32Regs:$grady),
              "tex.grad.a1d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x\\}], \\{$gradx\\}, \\{$grady\\};",
              []>;
def TEX_1D_ARRAY_U32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "tex.a1d.v4.u32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x\\}];",
              []>;
def TEX_1D_ARRAY_U32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x),
              "tex.a1d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x\\}];",
              []>;
def TEX_1D_ARRAY_U32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$lod),
              "tex.level.a1d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x\\}], $lod;",
              []>;
def TEX_1D_ARRAY_U32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$gradx, Float32Regs:$grady),
              "tex.grad.a1d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x\\}], \\{$gradx\\}, \\{$grady\\};",
              []>;

def TEX_2D_F32_S32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "tex.2d.v4.f32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TEX_2D_F32_F32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y),
              "tex.2d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TEX_2D_F32_F32_LEVEL
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$lod),
              "tex.level.2d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y\\}], $lod;",
              []>;
def TEX_2D_F32_F32_GRAD
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$grady0, Float32Regs:$grady1),
              "tex.grad.2d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y\\}], \\{$gradx0, $gradx1\\}, "
              "\\{$grady0, $grady1\\};",
              []>;
def TEX_2D_S32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "tex.2d.v4.s32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TEX_2D_S32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y),
              "tex.2d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TEX_2D_S32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$lod),
              "tex.level.2d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y\\}], $lod;",
              []>;
def TEX_2D_S32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$grady0, Float32Regs:$grady1),
              "tex.grad.2d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y\\}], \\{$gradx0, $gradx1\\}, "
              "\\{$grady0, $grady1\\};",
              []>;
def TEX_2D_U32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "tex.2d.v4.u32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TEX_2D_U32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y),
              "tex.2d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TEX_2D_U32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$lod),
              "tex.level.2d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y\\}], $lod;",
              []>;
def TEX_2D_U32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$grady0, Float32Regs:$grady1),
              "tex.grad.2d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y\\}], \\{$gradx0, $gradx1\\}, "
              "\\{$grady0, $grady1\\};",
              []>;

def TEX_2D_ARRAY_F32_S32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
                   Int32Regs:$y),
              "tex.a2d.v4.f32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $y\\}];",
              []>;
def TEX_2D_ARRAY_F32_F32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y),
              "tex.a2d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $y\\}];",
              []>;
def TEX_2D_ARRAY_F32_F32_LEVEL
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y, Float32Regs:$lod),
              "tex.level.a2d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $y\\}], $lod;",
              []>;
def TEX_2D_ARRAY_F32_F32_GRAD
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y, Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$grady0, Float32Regs:$grady1),
              "tex.grad.a2d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $y\\}], \\{$gradx0, $gradx1\\}, "
              "\\{$grady0, $grady1\\};",
              []>;
def TEX_2D_ARRAY_S32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
                   Int32Regs:$y),
              "tex.a2d.v4.s32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $y\\}];",
              []>;
def TEX_2D_ARRAY_S32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y),
              "tex.a2d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $y\\}];",
              []>;
def TEX_2D_ARRAY_S32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y, Float32Regs:$lod),
              "tex.level.a2d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $y\\}], $lod;",
              []>;
def TEX_2D_ARRAY_S32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$grady0, Float32Regs:$grady1),
              "tex.grad.a2d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $y\\}], \\{$gradx0, $gradx1\\}, "
              "\\{$grady0, $grady1\\};",
              []>;
def TEX_2D_ARRAY_U32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
                   Int32Regs:$y),
              "tex.a2d.v4.u32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $y\\}];",
              []>;
def TEX_2D_ARRAY_U32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y),
              "tex.a2d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $y\\}];",
              []>;
def TEX_2D_ARRAY_U32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y, Float32Regs:$lod),
              "tex.level.a2d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $y\\}], $lod;",
              []>;
def TEX_2D_ARRAY_U32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$grady0, Float32Regs:$grady1),
              "tex.grad.a2d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $y\\}], \\{$gradx0, $gradx1\\}, "
              "\\{$grady0, $grady1\\};",
              []>;

def TEX_3D_F32_S32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$z),
              "tex.3d.v4.f32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_3D_F32_F32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z),
              "tex.3d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_3D_F32_F32_LEVEL
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z, Float32Regs:$lod),
              "tex.level.3d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}], $lod;",
              []>;
def TEX_3D_F32_F32_GRAD
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$gradx2, Float32Regs:$grady0,
                   Float32Regs:$grady1, Float32Regs:$grady2),
              "tex.grad.3d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}], "
              "\\{$gradx0, $gradx1, $gradx2, $gradx2\\}, "
              "\\{$grady0, $grady1, $grady2, $grady2\\};",
              []>;
def TEX_3D_S32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$z),
              "tex.3d.v4.s32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_3D_S32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z),
              "tex.3d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_3D_S32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z, Float32Regs:$lod),
              "tex.level.3d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}], $lod;",
              []>;
def TEX_3D_S32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$gradx2, Float32Regs:$grady0,
                   Float32Regs:$grady1, Float32Regs:$grady2),
              "tex.grad.3d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}], "
              "\\{$gradx0, $gradx1, $gradx2, $gradx2\\}, "
              "\\{$grady0, $grady1, $grady2, $grady2\\};",
              []>;
def TEX_3D_U32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$z),
              "tex.3d.v4.u32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_3D_U32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z),
              "tex.3d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_3D_U32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z, Float32Regs:$lod),
              "tex.level.3d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}], $lod;",
              []>;
def TEX_3D_U32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$gradx2, Float32Regs:$grady0,
                   Float32Regs:$grady1, Float32Regs:$grady2),
              "tex.grad.3d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}], "
              "\\{$gradx0, $gradx1, $gradx2, $gradx2\\}, "
              "\\{$grady0, $grady1, $grady2, $grady2\\};",
              []>;

def TEX_CUBE_F32_F32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s,
               Float32Regs:$x, Float32Regs:$y, Float32Regs:$z),
              "tex.cube.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_CUBE_F32_F32_LEVEL
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z,
                   Float32Regs:$lod),
              "tex.level.cube.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}], $lod;",
              []>;
def TEX_CUBE_S32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z),
              "tex.cube.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_CUBE_S32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z,
                   Float32Regs:$lod),
              "tex.level.cube.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}], $lod;",
              []>;
def TEX_CUBE_U32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z),
              "tex.cube.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_CUBE_U32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z,
                   Float32Regs:$lod),
              "tex.level.cube.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$x, $y, $z, $z\\}], $lod;",
              []>;

def TEX_CUBE_ARRAY_F32_F32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l,
               Float32Regs:$x, Float32Regs:$y, Float32Regs:$z),
              "tex.acube.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $z\\}];",
              []>;
def TEX_CUBE_ARRAY_F32_F32_LEVEL
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z,
                   Float32Regs:$lod),
              "tex.level.acube.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $z\\}], $lod;",
              []>;
def TEX_CUBE_ARRAY_S32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z),
              "tex.acube.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $z\\}];",
              []>;
def TEX_CUBE_ARRAY_S32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z,
                   Float32Regs:$lod),
              "tex.level.acube.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $z\\}], $lod;",
              []>;
def TEX_CUBE_ARRAY_U32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z),
              "tex.acube.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $z\\}];",
              []>;
def TEX_CUBE_ARRAY_U32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int64Regs:$s, Int32Regs:$l,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z,
                   Float32Regs:$lod),
              "tex.level.acube.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, $s, \\{$l, $x, $y, $z\\}], $lod;",
              []>;

def TLD4_R_2D_F32_F32
  : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1,
                    Float32Regs:$v2, Float32Regs:$v3),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y),
              "tld4.r.2d.v4.f32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TLD4_G_2D_F32_F32
  : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1,
                    Float32Regs:$v2, Float32Regs:$v3),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y),
              "tld4.g.2d.v4.f32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TLD4_B_2D_F32_F32
  : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1,
                    Float32Regs:$v2, Float32Regs:$v3),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y),
              "tld4.b.2d.v4.f32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TLD4_A_2D_F32_F32
  : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1,
                    Float32Regs:$v2, Float32Regs:$v3),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y),
              "tld4.a.2d.v4.f32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TLD4_R_2D_S32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y),
              "tld4.r.2d.v4.s32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TLD4_G_2D_S32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y),
              "tld4.g.2d.v4.s32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TLD4_B_2D_S32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y),
              "tld4.b.2d.v4.s32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TLD4_A_2D_S32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y),
              "tld4.a.2d.v4.s32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TLD4_R_2D_U32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y),
              "tld4.r.2d.v4.u32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TLD4_G_2D_U32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y),
              "tld4.g.2d.v4.u32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TLD4_B_2D_U32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y),
              "tld4.b.2d.v4.u32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
def TLD4_A_2D_U32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Int64Regs:$s, Float32Regs:$x, Float32Regs:$y),
              "tld4.a.2d.v4.u32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, $s, \\{$x, $y\\}];",
              []>;
}


// texmode_unified
let IsTex = 1, IsTexModeUnified = 1 in {
// Texture fetch instructions using handles
def TEX_UNIFIED_1D_F32_S32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$x),
              "tex.1d.v4.f32.s32 \t\\{$r, $g, $b, $a\\}, [$t, \\{$x\\}];",
              []>;
def TEX_UNIFIED_1D_F32_F32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x),
              "tex.1d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, [$t, \\{$x\\}];",
              []>;
def TEX_UNIFIED_1D_F32_F32_LEVEL
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$lod),
              "tex.level.1d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x\\}], $lod;",
              []>;
def TEX_UNIFIED_1D_F32_F32_GRAD
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x,
                   Float32Regs:$gradx, Float32Regs:$grady),
              "tex.grad.1d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x\\}], \\{$gradx\\}, \\{$grady\\};",
              []>;
def TEX_UNIFIED_1D_S32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$x),
              "tex.1d.v4.s32.s32 \t\\{$r, $g, $b, $a\\}, [$t, \\{$x\\}];",
              []>;
def TEX_UNIFIED_1D_S32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x),
              "tex.1d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, [$t, \\{$x\\}];",
              []>;
def TEX_UNIFIED_1D_S32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x,
                   Float32Regs:$lod),
              "tex.level.1d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x\\}], $lod;",
              []>;
def TEX_UNIFIED_1D_S32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x,
                   Float32Regs:$gradx, Float32Regs:$grady),
              "tex.grad.1d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x\\}], \\{$gradx\\}, \\{$grady\\};",
              []>;
def TEX_UNIFIED_1D_U32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$x),
              "tex.1d.v4.u32.s32 \t\\{$r, $g, $b, $a\\}, [$t, \\{$x\\}];",
              []>;
def TEX_UNIFIED_1D_U32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x),
              "tex.1d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, [$t, \\{$x\\}];",
              []>;
def TEX_UNIFIED_1D_U32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x,
                   Float32Regs:$lod),
              "tex.level.1d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x\\}], $lod;",
              []>;
def TEX_UNIFIED_1D_U32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x,
                   Float32Regs:$gradx, Float32Regs:$grady),
              "tex.grad.1d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x\\}], \\{$gradx\\}, \\{$grady\\};",
              []>;

def TEX_UNIFIED_1D_ARRAY_F32_S32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Int32Regs:$x),
              "tex.a1d.v4.f32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x\\}];",
              []>;
def TEX_UNIFIED_1D_ARRAY_F32_F32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x),
              "tex.a1d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x\\}];",
              []>;
def TEX_UNIFIED_1D_ARRAY_F32_F32_LEVEL
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$lod),
              "tex.level.a1d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x\\}], $lod;",
              []>;
def TEX_UNIFIED_1D_ARRAY_F32_F32_GRAD
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$gradx, Float32Regs:$grady),
              "tex.grad.a1d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x\\}], \\{$gradx\\}, \\{$grady\\};",
              []>;
def TEX_UNIFIED_1D_ARRAY_S32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Int32Regs:$x),
              "tex.a1d.v4.s32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x\\}];",
              []>;
def TEX_UNIFIED_1D_ARRAY_S32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x),
              "tex.a1d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x\\}];",
              []>;
def TEX_UNIFIED_1D_ARRAY_S32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$lod),
              "tex.level.a1d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x\\}], $lod;",
              []>;
def TEX_UNIFIED_1D_ARRAY_S32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$gradx, Float32Regs:$grady),
              "tex.grad.a1d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x\\}], \\{$gradx\\}, \\{$grady\\};",
              []>;
def TEX_UNIFIED_1D_ARRAY_U32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Int32Regs:$x),
              "tex.a1d.v4.u32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x\\}];",
              []>;
def TEX_UNIFIED_1D_ARRAY_U32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x),
              "tex.a1d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x\\}];",
              []>;
def TEX_UNIFIED_1D_ARRAY_U32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$lod),
              "tex.level.a1d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x\\}], $lod;",
              []>;
def TEX_UNIFIED_1D_ARRAY_U32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$gradx, Float32Regs:$grady),
              "tex.grad.a1d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x\\}], \\{$gradx\\}, \\{$grady\\};",
              []>;

def TEX_UNIFIED_2D_F32_S32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$x, Int32Regs:$y),
              "tex.2d.v4.f32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TEX_UNIFIED_2D_F32_F32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y),
              "tex.2d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TEX_UNIFIED_2D_F32_F32_LEVEL
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$lod),
              "tex.level.2d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y\\}], $lod;",
              []>;
def TEX_UNIFIED_2D_F32_F32_GRAD
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$grady0, Float32Regs:$grady1),
              "tex.grad.2d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y\\}], \\{$gradx0, $gradx1\\}, "
              "\\{$grady0, $grady1\\};",
              []>;
def TEX_UNIFIED_2D_S32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$x, Int32Regs:$y),
              "tex.2d.v4.s32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TEX_UNIFIED_2D_S32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y),
              "tex.2d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TEX_UNIFIED_2D_S32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$lod),
              "tex.level.2d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y\\}], $lod;",
              []>;
def TEX_UNIFIED_2D_S32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$grady0, Float32Regs:$grady1),
              "tex.grad.2d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y\\}], \\{$gradx0, $gradx1\\}, "
              "\\{$grady0, $grady1\\};",
              []>;
def TEX_UNIFIED_2D_U32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$x, Int32Regs:$y),
              "tex.2d.v4.u32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TEX_UNIFIED_2D_U32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y),
              "tex.2d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TEX_UNIFIED_2D_U32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$lod),
              "tex.level.2d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y\\}], $lod;",
              []>;
def TEX_UNIFIED_2D_U32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$grady0, Float32Regs:$grady1),
              "tex.grad.2d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y\\}], \\{$gradx0, $gradx1\\}, "
              "\\{$grady0, $grady1\\};",
              []>;

def TEX_UNIFIED_2D_ARRAY_F32_S32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Int32Regs:$x,
                   Int32Regs:$y),
              "tex.a2d.v4.f32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $y\\}];",
              []>;
def TEX_UNIFIED_2D_ARRAY_F32_F32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y),
              "tex.a2d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $y\\}];",
              []>;
def TEX_UNIFIED_2D_ARRAY_F32_F32_LEVEL
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y, Float32Regs:$lod),
              "tex.level.a2d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $y\\}], $lod;",
              []>;
def TEX_UNIFIED_2D_ARRAY_F32_F32_GRAD
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y, Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$grady0, Float32Regs:$grady1),
              "tex.grad.a2d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $y\\}], \\{$gradx0, $gradx1\\}, "
              "\\{$grady0, $grady1\\};",
              []>;
def TEX_UNIFIED_2D_ARRAY_S32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Int32Regs:$x,
                   Int32Regs:$y),
              "tex.a2d.v4.s32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $y\\}];",
              []>;
def TEX_UNIFIED_2D_ARRAY_S32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y),
              "tex.a2d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $y\\}];",
              []>;
def TEX_UNIFIED_2D_ARRAY_S32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y, Float32Regs:$lod),
              "tex.level.a2d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $y\\}], $lod;",
              []>;
def TEX_UNIFIED_2D_ARRAY_S32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$grady0, Float32Regs:$grady1),
              "tex.grad.a2d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $y\\}], \\{$gradx0, $gradx1\\}, "
              "\\{$grady0, $grady1\\};",
              []>;
def TEX_UNIFIED_2D_ARRAY_U32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Int32Regs:$x,
                   Int32Regs:$y),
              "tex.a2d.v4.u32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $y\\}];",
              []>;
def TEX_UNIFIED_2D_ARRAY_U32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y),
              "tex.a2d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $y\\}];",
              []>;
def TEX_UNIFIED_2D_ARRAY_U32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y, Float32Regs:$lod),
              "tex.level.a2d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $y\\}], $lod;",
              []>;
def TEX_UNIFIED_2D_ARRAY_U32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l, Float32Regs:$x,
                   Float32Regs:$y,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$grady0, Float32Regs:$grady1),
              "tex.grad.a2d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $y\\}], \\{$gradx0, $gradx1\\}, "
              "\\{$grady0, $grady1\\};",
              []>;

def TEX_UNIFIED_3D_F32_S32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$z),
              "tex.3d.v4.f32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_UNIFIED_3D_F32_F32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z),
              "tex.3d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_UNIFIED_3D_F32_F32_LEVEL
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z, Float32Regs:$lod),
              "tex.level.3d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}], $lod;",
              []>;
def TEX_UNIFIED_3D_F32_F32_GRAD
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$gradx2, Float32Regs:$grady0,
                   Float32Regs:$grady1, Float32Regs:$grady2),
              "tex.grad.3d.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}], "
              "\\{$gradx0, $gradx1, $gradx2, $gradx2\\}, "
              "\\{$grady0, $grady1, $grady2, $grady2\\};",
              []>;
def TEX_UNIFIED_3D_S32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$z),
              "tex.3d.v4.s32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_UNIFIED_3D_S32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z),
              "tex.3d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_UNIFIED_3D_S32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z, Float32Regs:$lod),
              "tex.level.3d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}], $lod;",
              []>;
def TEX_UNIFIED_3D_S32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$gradx2, Float32Regs:$grady0,
                   Float32Regs:$grady1, Float32Regs:$grady2),
              "tex.grad.3d.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}], "
              "\\{$gradx0, $gradx1, $gradx2, $gradx2\\}, "
              "\\{$grady0, $grady1, $grady2, $grady2\\};",
              []>;
def TEX_UNIFIED_3D_U32_S32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$z),
              "tex.3d.v4.u32.s32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_UNIFIED_3D_U32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z),
              "tex.3d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_UNIFIED_3D_U32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z, Float32Regs:$lod),
              "tex.level.3d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}], $lod;",
              []>;
def TEX_UNIFIED_3D_U32_F32_GRAD
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y,
                   Float32Regs:$z,
                   Float32Regs:$gradx0, Float32Regs:$gradx1,
                   Float32Regs:$gradx2, Float32Regs:$grady0,
                   Float32Regs:$grady1, Float32Regs:$grady2),
              "tex.grad.3d.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}], "
              "\\{$gradx0, $gradx1, $gradx2, $gradx2\\}, "
              "\\{$grady0, $grady1, $grady2, $grady2\\};",
              []>;

def TEX_UNIFIED_CUBE_F32_F32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t,
               Float32Regs:$x, Float32Regs:$y, Float32Regs:$z),
              "tex.cube.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_UNIFIED_CUBE_F32_F32_LEVEL
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z,
                   Float32Regs:$lod),
              "tex.level.cube.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}], $lod;",
              []>;
def TEX_UNIFIED_CUBE_S32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z),
              "tex.cube.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_UNIFIED_CUBE_S32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z,
                   Float32Regs:$lod),
              "tex.level.cube.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}], $lod;",
              []>;
def TEX_UNIFIED_CUBE_U32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z),
              "tex.cube.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}];",
              []>;
def TEX_UNIFIED_CUBE_U32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z,
                   Float32Regs:$lod),
              "tex.level.cube.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$x, $y, $z, $z\\}], $lod;",
              []>;

def TEX_UNIFIED_CUBE_ARRAY_F32_F32
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l,
               Float32Regs:$x, Float32Regs:$y, Float32Regs:$z),
              "tex.acube.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $z\\}];",
              []>;
def TEX_UNIFIED_CUBE_ARRAY_F32_F32_LEVEL
  : NVPTXInst<(outs Float32Regs:$r, Float32Regs:$g,
                    Float32Regs:$b, Float32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z,
                   Float32Regs:$lod),
              "tex.level.acube.v4.f32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $z\\}], $lod;",
              []>;
def TEX_UNIFIED_CUBE_ARRAY_S32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z),
              "tex.acube.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $z\\}];",
              []>;
def TEX_UNIFIED_CUBE_ARRAY_S32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z,
                   Float32Regs:$lod),
              "tex.level.acube.v4.s32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $z\\}], $lod;",
              []>;
def TEX_UNIFIED_CUBE_ARRAY_U32_F32
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z),
              "tex.acube.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $z\\}];",
              []>;
def TEX_UNIFIED_CUBE_ARRAY_U32_F32_LEVEL
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g,
                    Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$t, Int32Regs:$l,
                   Float32Regs:$x, Float32Regs:$y, Float32Regs:$z,
                   Float32Regs:$lod),
              "tex.level.acube.v4.u32.f32 \t\\{$r, $g, $b, $a\\}, "
              "[$t, \\{$l, $x, $y, $z\\}], $lod;",
              []>;

def TLD4_UNIFIED_R_2D_F32_F32
  : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1,
                    Float32Regs:$v2, Float32Regs:$v3),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y),
              "tld4.r.2d.v4.f32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TLD4_UNIFIED_G_2D_F32_F32
  : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1,
                    Float32Regs:$v2, Float32Regs:$v3),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y),
              "tld4.g.2d.v4.f32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TLD4_UNIFIED_B_2D_F32_F32
  : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1,
                    Float32Regs:$v2, Float32Regs:$v3),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y),
              "tld4.b.2d.v4.f32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TLD4_UNIFIED_A_2D_F32_F32
  : NVPTXInst<(outs Float32Regs:$v0, Float32Regs:$v1,
                    Float32Regs:$v2, Float32Regs:$v3),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y),
              "tld4.a.2d.v4.f32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TLD4_UNIFIED_R_2D_S32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y),
              "tld4.r.2d.v4.s32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TLD4_UNIFIED_G_2D_S32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y),
              "tld4.g.2d.v4.s32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TLD4_UNIFIED_B_2D_S32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y),
              "tld4.b.2d.v4.s32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TLD4_UNIFIED_A_2D_S32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y),
              "tld4.a.2d.v4.s32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TLD4_UNIFIED_R_2D_U32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y),
              "tld4.r.2d.v4.u32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TLD4_UNIFIED_G_2D_U32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y),
              "tld4.g.2d.v4.u32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TLD4_UNIFIED_B_2D_U32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y),
              "tld4.b.2d.v4.u32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
def TLD4_UNIFIED_A_2D_U32_F32
  : NVPTXInst<(outs Int32Regs:$v0, Int32Regs:$v1,
                    Int32Regs:$v2, Int32Regs:$v3),
              (ins Int64Regs:$t, Float32Regs:$x, Float32Regs:$y),
              "tld4.a.2d.v4.u32.f32 \t\\{$v0, $v1, $v2, $v3\\}, "
              "[$t, \\{$x, $y\\}];",
              []>;
}



//=== Surface load instructions
// .clamp variant
let IsSuld = 1 in {
def SULD_1D_I8_CLAMP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.b8.clamp \\{$r\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_I16_CLAMP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.b16.clamp \\{$r\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_I32_CLAMP
  : NVPTXInst<(outs Int32Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.b32.clamp \\{$r\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_I64_CLAMP
  : NVPTXInst<(outs Int64Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.b64.clamp \\{$r\\}, [$s, \\{$x\\}];",
              []>;

def SULD_1D_ARRAY_I8_CLAMP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.b8.clamp \\{$r\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_I16_CLAMP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.b16.clamp \\{$r\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_I32_CLAMP
  : NVPTXInst<(outs Int32Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.b32.clamp \\{$r\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_I64_CLAMP
  : NVPTXInst<(outs Int64Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.b64.clamp \\{$r\\}, [$s, \\{$l, $x\\}];",
              []>;

def SULD_2D_I8_CLAMP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.b8.clamp \\{$r\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_I16_CLAMP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.b16.clamp \\{$r\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_I32_CLAMP
  : NVPTXInst<(outs Int32Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.b32.clamp \\{$r\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_I64_CLAMP
  : NVPTXInst<(outs Int64Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.b64.clamp \\{$r\\}, [$s, \\{$x, $y\\}];",
              []>;

def SULD_2D_ARRAY_I8_CLAMP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.b8.clamp \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_I16_CLAMP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.b16.clamp \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_I32_CLAMP
  : NVPTXInst<(outs Int32Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.b32.clamp \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_I64_CLAMP
  : NVPTXInst<(outs Int64Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.b64.clamp \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];",
              []>;

def SULD_3D_I8_CLAMP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.b8.clamp \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_I16_CLAMP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.b16.clamp \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_I32_CLAMP
  : NVPTXInst<(outs Int32Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.b32.clamp \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_I64_CLAMP
  : NVPTXInst<(outs Int64Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.b64.clamp \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
}

let IsSuld = 2 in {
def SULD_1D_V2I8_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v2.b8.clamp \\{$r, $g\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_V2I16_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v2.b16.clamp \\{$r, $g\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_V2I32_CLAMP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v2.b32.clamp \\{$r, $g\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_V2I64_CLAMP
  : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v2.b64.clamp \\{$r, $g\\}, [$s, \\{$x\\}];",
              []>;

def SULD_1D_ARRAY_V2I8_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v2.b8.clamp \\{$r, $g\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_V2I16_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v2.b16.clamp \\{$r, $g\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_V2I32_CLAMP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v2.b32.clamp \\{$r, $g\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_V2I64_CLAMP
  : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v2.b64.clamp \\{$r, $g\\}, [$s, \\{$l, $x\\}];",
              []>;

def SULD_2D_V2I8_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v2.b8.clamp \\{$r, $g\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_V2I16_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v2.b16.clamp \\{$r, $g\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_V2I32_CLAMP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v2.b32.clamp \\{$r, $g\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_V2I64_CLAMP
  : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v2.b64.clamp \\{$r, $g\\}, [$s, \\{$x, $y\\}];",
              []>;

def SULD_2D_ARRAY_V2I8_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v2.b8.clamp \\{$r, $g\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_V2I16_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v2.b16.clamp \\{$r, $g\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_V2I32_CLAMP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v2.b32.clamp \\{$r, $g\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_V2I64_CLAMP
  : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v2.b64.clamp \\{$r, $g\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;

def SULD_3D_V2I8_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v2.b8.clamp \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_V2I16_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v2.b16.clamp \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_V2I32_CLAMP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v2.b32.clamp \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_V2I64_CLAMP
  : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v2.b64.clamp \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
}

let IsSuld = 3 in {
def SULD_1D_V4I8_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v4.b8.clamp \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_V4I16_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v4.b16.clamp \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_V4I32_CLAMP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v4.b32.clamp \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];",
              []>;

def SULD_1D_ARRAY_V4I8_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v4.b8.clamp \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_V4I16_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v4.b16.clamp \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_V4I32_CLAMP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v4.b32.clamp \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x\\}];",
              []>;

def SULD_2D_V4I8_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v4.b8.clamp \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_V4I16_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v4.b16.clamp \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_V4I32_CLAMP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v4.b32.clamp \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];",
              []>;

def SULD_2D_ARRAY_V4I8_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v4.b8.clamp \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_V4I16_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v4.b16.clamp \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_V4I32_CLAMP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v4.b32.clamp \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;


def SULD_3D_V4I8_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v4.b8.clamp \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_V4I16_CLAMP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v4.b16.clamp \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_V4I32_CLAMP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v4.b32.clamp \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$x, $y, $z, $z\\}];",
              []>;
}


// .trap variant
let IsSuld = 1 in {
def SULD_1D_I8_TRAP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.b8.trap \\{$r\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_I16_TRAP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.b16.trap \\{$r\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_I32_TRAP
  : NVPTXInst<(outs Int32Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.b32.trap \\{$r\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_I64_TRAP
  : NVPTXInst<(outs Int64Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.b64.trap \\{$r\\}, [$s, \\{$x\\}];",
              []>;

def SULD_1D_ARRAY_I8_TRAP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.b8.trap \\{$r\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_I16_TRAP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.b16.trap \\{$r\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_I32_TRAP
  : NVPTXInst<(outs Int32Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.b32.trap \\{$r\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_I64_TRAP
  : NVPTXInst<(outs Int64Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.b64.trap \\{$r\\}, [$s, \\{$l, $x\\}];",
              []>;

def SULD_2D_I8_TRAP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.b8.trap \\{$r\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_I16_TRAP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.b16.trap \\{$r\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_I32_TRAP
  : NVPTXInst<(outs Int32Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.b32.trap \\{$r\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_I64_TRAP
  : NVPTXInst<(outs Int64Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.b64.trap \\{$r\\}, [$s, \\{$x, $y\\}];",
              []>;

def SULD_2D_ARRAY_I8_TRAP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.b8.trap \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_I16_TRAP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.b16.trap \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_I32_TRAP
  : NVPTXInst<(outs Int32Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.b32.trap \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_I64_TRAP
  : NVPTXInst<(outs Int64Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.b64.trap \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];",
              []>;

def SULD_3D_I8_TRAP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.b8.trap \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_I16_TRAP
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.b16.trap \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_I32_TRAP
  : NVPTXInst<(outs Int32Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.b32.trap \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_I64_TRAP
  : NVPTXInst<(outs Int64Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.b64.trap \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
}

let IsSuld = 2 in {
def SULD_1D_V2I8_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v2.b8.trap \\{$r, $g\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_V2I16_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v2.b16.trap \\{$r, $g\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_V2I32_TRAP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v2.b32.trap \\{$r, $g\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_V2I64_TRAP
  : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v2.b64.trap \\{$r, $g\\}, [$s, \\{$x\\}];",
              []>;

def SULD_1D_ARRAY_V2I8_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v2.b8.trap \\{$r, $g\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_V2I16_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v2.b16.trap \\{$r, $g\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_V2I32_TRAP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v2.b32.trap \\{$r, $g\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_V2I64_TRAP
  : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v2.b64.trap \\{$r, $g\\}, [$s, \\{$l, $x\\}];",
              []>;

def SULD_2D_V2I8_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v2.b8.trap \\{$r, $g\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_V2I16_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v2.b16.trap \\{$r, $g\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_V2I32_TRAP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v2.b32.trap \\{$r, $g\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_V2I64_TRAP
  : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v2.b64.trap \\{$r, $g\\}, [$s, \\{$x, $y\\}];",
              []>;

def SULD_2D_ARRAY_V2I8_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v2.b8.trap \\{$r, $g\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_V2I16_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v2.b16.trap \\{$r, $g\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_V2I32_TRAP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v2.b32.trap \\{$r, $g\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_V2I64_TRAP
  : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v2.b64.trap \\{$r, $g\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;

def SULD_3D_V2I8_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v2.b8.trap \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_V2I16_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v2.b16.trap \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_V2I32_TRAP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v2.b32.trap \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_V2I64_TRAP
  : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v2.b64.trap \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
}

let IsSuld = 3 in {
def SULD_1D_V4I8_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v4.b8.trap \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_V4I16_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v4.b16.trap \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_V4I32_TRAP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v4.b32.trap \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];",
              []>;

def SULD_1D_ARRAY_V4I8_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v4.b8.trap \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_V4I16_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v4.b16.trap \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_V4I32_TRAP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v4.b32.trap \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x\\}];",
              []>;

def SULD_2D_V4I8_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v4.b8.trap \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_V4I16_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v4.b16.trap \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_V4I32_TRAP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v4.b32.trap \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];",
              []>;

def SULD_2D_ARRAY_V4I8_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v4.b8.trap \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_V4I16_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v4.b16.trap \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_V4I32_TRAP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v4.b32.trap \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;


def SULD_3D_V4I8_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v4.b8.trap \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_V4I16_TRAP
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v4.b16.trap \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_V4I32_TRAP
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v4.b32.trap \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$x, $y, $z, $z\\}];",
              []>;
}

// .zero variant
let IsSuld = 1 in {
def SULD_1D_I8_ZERO
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.b8.zero \\{$r\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_I16_ZERO
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.b16.zero \\{$r\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_I32_ZERO
  : NVPTXInst<(outs Int32Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.b32.zero \\{$r\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_I64_ZERO
  : NVPTXInst<(outs Int64Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.b64.zero \\{$r\\}, [$s, \\{$x\\}];",
              []>;

def SULD_1D_ARRAY_I8_ZERO
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.b8.zero \\{$r\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_I16_ZERO
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.b16.zero \\{$r\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_I32_ZERO
  : NVPTXInst<(outs Int32Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.b32.zero \\{$r\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_I64_ZERO
  : NVPTXInst<(outs Int64Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.b64.zero \\{$r\\}, [$s, \\{$l, $x\\}];",
              []>;

def SULD_2D_I8_ZERO
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.b8.zero \\{$r\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_I16_ZERO
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.b16.zero \\{$r\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_I32_ZERO
  : NVPTXInst<(outs Int32Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.b32.zero \\{$r\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_I64_ZERO
  : NVPTXInst<(outs Int64Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.b64.zero \\{$r\\}, [$s, \\{$x, $y\\}];",
              []>;

def SULD_2D_ARRAY_I8_ZERO
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.b8.zero \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_I16_ZERO
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.b16.zero \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_I32_ZERO
  : NVPTXInst<(outs Int32Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.b32.zero \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_I64_ZERO
  : NVPTXInst<(outs Int64Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.b64.zero \\{$r\\}, [$s, \\{$l, $x, $y, $y\\}];",
              []>;

def SULD_3D_I8_ZERO
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.b8.zero \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_I16_ZERO
  : NVPTXInst<(outs Int16Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.b16.zero \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_I32_ZERO
  : NVPTXInst<(outs Int32Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.b32.zero \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_I64_ZERO
  : NVPTXInst<(outs Int64Regs:$r),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.b64.zero \\{$r\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
}

let IsSuld = 2 in {
def SULD_1D_V2I8_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v2.b8.zero \\{$r, $g\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_V2I16_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v2.b16.zero \\{$r, $g\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_V2I32_ZERO
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v2.b32.zero \\{$r, $g\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_V2I64_ZERO
  : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v2.b64.zero \\{$r, $g\\}, [$s, \\{$x\\}];",
              []>;

def SULD_1D_ARRAY_V2I8_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v2.b8.zero \\{$r, $g\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_V2I16_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v2.b16.zero \\{$r, $g\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_V2I32_ZERO
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v2.b32.zero \\{$r, $g\\}, [$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_V2I64_ZERO
  : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v2.b64.zero \\{$r, $g\\}, [$s, \\{$l, $x\\}];",
              []>;

def SULD_2D_V2I8_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v2.b8.zero \\{$r, $g\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_V2I16_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v2.b16.zero \\{$r, $g\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_V2I32_ZERO
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v2.b32.zero \\{$r, $g\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_V2I64_ZERO
  : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v2.b64.zero \\{$r, $g\\}, [$s, \\{$x, $y\\}];",
              []>;

def SULD_2D_ARRAY_V2I8_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v2.b8.zero \\{$r, $g\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_V2I16_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v2.b16.zero \\{$r, $g\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_V2I32_ZERO
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v2.b32.zero \\{$r, $g\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_V2I64_ZERO
  : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v2.b64.zero \\{$r, $g\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;

def SULD_3D_V2I8_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v2.b8.zero \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_V2I16_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v2.b16.zero \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_V2I32_ZERO
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v2.b32.zero \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_V2I64_ZERO
  : NVPTXInst<(outs Int64Regs:$r, Int64Regs:$g),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v2.b64.zero \\{$r, $g\\}, [$s, \\{$x, $y, $z, $z\\}];",
              []>;
}

let IsSuld = 3 in {
def SULD_1D_V4I8_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v4.b8.zero \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_V4I16_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v4.b16.zero \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];",
              []>;
def SULD_1D_V4I32_ZERO
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x),
              "suld.b.1d.v4.b32.zero \\{$r, $g, $b, $a\\}, [$s, \\{$x\\}];",
              []>;

def SULD_1D_ARRAY_V4I8_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v4.b8.zero \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_V4I16_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v4.b16.zero \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x\\}];",
              []>;
def SULD_1D_ARRAY_V4I32_ZERO
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x),
              "suld.b.a1d.v4.b32.zero \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x\\}];",
              []>;

def SULD_2D_V4I8_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v4.b8.zero \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_V4I16_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v4.b16.zero \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];",
              []>;
def SULD_2D_V4I32_ZERO
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y),
              "suld.b.2d.v4.b32.zero \\{$r, $g, $b, $a\\}, [$s, \\{$x, $y\\}];",
              []>;

def SULD_2D_ARRAY_V4I8_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v4.b8.zero \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_V4I16_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v4.b16.zero \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;
def SULD_2D_ARRAY_V4I32_ZERO
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y),
              "suld.b.a2d.v4.b32.zero \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$l, $x, $y, $y\\}];",
              []>;


def SULD_3D_V4I8_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v4.b8.zero \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_V4I16_ZERO
  : NVPTXInst<(outs Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v4.b16.zero \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$x, $y, $z, $z\\}];",
              []>;
def SULD_3D_V4I32_ZERO
  : NVPTXInst<(outs Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z),
              "suld.b.3d.v4.b32.zero \\{$r, $g, $b, $a\\}, "
              "[$s, \\{$x, $y, $z, $z\\}];",
              []>;
}

//-----------------------------------
// Texture Query Intrinsics
//-----------------------------------

let IsSurfTexQuery = 1 in {
def TXQ_CHANNEL_ORDER
  : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a),
              "txq.channel_order.b32 \t$d, [$a];",
              []>;
def TXQ_CHANNEL_DATA_TYPE
  : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a),
              "txq.channel_data_type.b32 \t$d, [$a];",
              []>;
def TXQ_WIDTH
  : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a),
              "txq.width.b32 \t$d, [$a];",
              []>;
def TXQ_HEIGHT
  : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a),
              "txq.height.b32 \t$d, [$a];",
              []>;
def TXQ_DEPTH
  : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a),
              "txq.depth.b32 \t$d, [$a];",
              []>;
def TXQ_ARRAY_SIZE
  : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a),
              "txq.array_size.b32 \t$d, [$a];",
              []>;
def TXQ_NUM_SAMPLES
  : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a),
              "txq.num_samples.b32 \t$d, [$a];",
              []>;
def TXQ_NUM_MIPMAP_LEVELS
  : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a),
              "txq.num_mipmap_levels.b32 \t$d, [$a];",
              []>;
}

def : Pat<(int_nvvm_txq_channel_order Int64Regs:$a),
          (TXQ_CHANNEL_ORDER Int64Regs:$a)>;
def : Pat<(int_nvvm_txq_channel_data_type Int64Regs:$a),
          (TXQ_CHANNEL_DATA_TYPE Int64Regs:$a)>;
def : Pat<(int_nvvm_txq_width Int64Regs:$a),
          (TXQ_WIDTH Int64Regs:$a)>;
def : Pat<(int_nvvm_txq_height Int64Regs:$a),
          (TXQ_HEIGHT Int64Regs:$a)>;
def : Pat<(int_nvvm_txq_depth Int64Regs:$a),
          (TXQ_DEPTH Int64Regs:$a)>;
def : Pat<(int_nvvm_txq_array_size Int64Regs:$a),
          (TXQ_ARRAY_SIZE Int64Regs:$a)>;
def : Pat<(int_nvvm_txq_num_samples Int64Regs:$a),
          (TXQ_NUM_SAMPLES Int64Regs:$a)>;
def : Pat<(int_nvvm_txq_num_mipmap_levels Int64Regs:$a),
          (TXQ_NUM_MIPMAP_LEVELS Int64Regs:$a)>;


//-----------------------------------
// Surface Query Intrinsics
//-----------------------------------

let IsSurfTexQuery = 1 in {
def SUQ_CHANNEL_ORDER
  : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a),
              "suq.channel_order.b32 \t$d, [$a];",
              []>;
def SUQ_CHANNEL_DATA_TYPE
  : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a),
              "suq.channel_data_type.b32 \t$d, [$a];",
              []>;
def SUQ_WIDTH
  : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a),
              "suq.width.b32 \t$d, [$a];",
              []>;
def SUQ_HEIGHT
  : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a),
              "suq.height.b32 \t$d, [$a];",
              []>;
def SUQ_DEPTH
  : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a),
              "suq.depth.b32 \t$d, [$a];",
              []>;
def SUQ_ARRAY_SIZE
  : NVPTXInst<(outs Int32Regs:$d), (ins Int64Regs:$a),
              "suq.array_size.b32 \t$d, [$a];",
              []>;
}

def : Pat<(int_nvvm_suq_channel_order Int64Regs:$a),
          (SUQ_CHANNEL_ORDER Int64Regs:$a)>;
def : Pat<(int_nvvm_suq_channel_data_type Int64Regs:$a),
          (SUQ_CHANNEL_DATA_TYPE Int64Regs:$a)>;
def : Pat<(int_nvvm_suq_width Int64Regs:$a),
          (SUQ_WIDTH Int64Regs:$a)>;
def : Pat<(int_nvvm_suq_height Int64Regs:$a),
          (SUQ_HEIGHT Int64Regs:$a)>;
def : Pat<(int_nvvm_suq_depth Int64Regs:$a),
          (SUQ_DEPTH Int64Regs:$a)>;
def : Pat<(int_nvvm_suq_array_size Int64Regs:$a),
          (SUQ_ARRAY_SIZE Int64Regs:$a)>;


//===- Handle Query -------------------------------------------------------===//

// TODO: These intrinsics are not yet finalized, pending PTX ISA design work
def ISTYPEP_SAMPLER
  : NVPTXInst<(outs Int1Regs:$d), (ins Int64Regs:$a),
              "istypep.samplerref \t$d, $a;",
              [(set Int1Regs:$d, (int_nvvm_istypep_sampler Int64Regs:$a))]>;
def ISTYPEP_SURFACE
  : NVPTXInst<(outs Int1Regs:$d), (ins Int64Regs:$a),
              "istypep.surfref \t$d, $a;",
              [(set Int1Regs:$d, (int_nvvm_istypep_surface Int64Regs:$a))]>;
def ISTYPEP_TEXTURE
  : NVPTXInst<(outs Int1Regs:$d), (ins Int64Regs:$a),
              "istypep.texref \t$d, $a;",
              [(set Int1Regs:$d, (int_nvvm_istypep_texture Int64Regs:$a))]>;

//===- Surface Stores -----------------------------------------------------===//

let IsSust = 1 in {
// Unformatted
// .clamp variant
def SUST_B_1D_B8_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
              "sust.b.1d.b8.clamp \t[$s, \\{$x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_B16_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
              "sust.b.1d.b16.clamp \t[$s, \\{$x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_B32_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r),
              "sust.b.1d.b32.clamp \t[$s, \\{$x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_B64_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int64Regs:$r),
              "sust.b.1d.b64.clamp \t[$s, \\{$x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_V2B8_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
              "sust.b.1d.v2.b8.clamp \t[$s, \\{$x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_V2B16_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
              "sust.b.1d.v2.b16.clamp \t[$s, \\{$x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_V2B32_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g),
              "sust.b.1d.v2.b32.clamp \t[$s, \\{$x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_V2B64_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g),
              "sust.b.1d.v2.b64.clamp \t[$s, \\{$x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_V4B8_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g,
                   Int16Regs:$b, Int16Regs:$a),
              "sust.b.1d.v4.b8.clamp \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_1D_V4B16_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g,
                   Int16Regs:$b, Int16Regs:$a),
              "sust.b.1d.v4.b16.clamp \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_1D_V4B32_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g,
                   Int32Regs:$b, Int32Regs:$a),
              "sust.b.1d.v4.b32.clamp \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};",
              []>;


def SUST_B_1D_ARRAY_B8_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r),
              "sust.b.a1d.b8.clamp \t[$s, \\{$idx, $x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_ARRAY_B16_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r),
              "sust.b.a1d.b16.clamp \t[$s, \\{$idx, $x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_ARRAY_B32_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r),
              "sust.b.a1d.b32.clamp \t[$s, \\{$idx, $x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_ARRAY_B64_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int64Regs:$r),
              "sust.b.a1d.b64.clamp \t[$s, \\{$idx, $x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_ARRAY_V2B8_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.b.a1d.v2.b8.clamp \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_ARRAY_V2B16_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.b.a1d.v2.b16.clamp \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_ARRAY_V2B32_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r,
                   Int32Regs:$g),
              "sust.b.a1d.v2.b32.clamp \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_ARRAY_V2B64_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int64Regs:$r,
                   Int64Regs:$g),
              "sust.b.a1d.v2.b64.clamp \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_ARRAY_V4B8_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              "sust.b.a1d.v4.b8.clamp \t[$s, \\{$idx, $x\\}], "
              "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_1D_ARRAY_V4B16_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
             "sust.b.a1d.v4.b16.clamp \t[$s, \\{$idx, $x\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_1D_ARRAY_V4B32_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r,
                   Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
             "sust.b.a1d.v4.b32.clamp \t[$s, \\{$idx, $x\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;


def SUST_B_2D_B8_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
              "sust.b.2d.b8.clamp \t[$s, \\{$x, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_B16_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
              "sust.b.2d.b16.clamp \t[$s, \\{$x, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_B32_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r),
              "sust.b.2d.b32.clamp \t[$s, \\{$x, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_B64_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r),
              "sust.b.2d.b64.clamp \t[$s, \\{$x, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_V2B8_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.b.2d.v2.b8.clamp \t[$s, \\{$x, $y\\}], \\{$r, $g\\};",
              []>;
def SUST_B_2D_V2B16_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.b.2d.v2.b16.clamp \t[$s, \\{$x, $y\\}], \\{$r, $g\\};",
              []>;
def SUST_B_2D_V2B32_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r,
                   Int32Regs:$g),
              "sust.b.2d.v2.b32.clamp \t[$s, \\{$x, $y\\}], \\{$r, $g\\};",
              []>;
def SUST_B_2D_V2B64_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r,
                   Int64Regs:$g),
              "sust.b.2d.v2.b64.clamp \t[$s, \\{$x, $y\\}], \\{$r, $g\\};",
              []>;
def SUST_B_2D_V4B8_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              "sust.b.2d.v4.b8.clamp \t[$s, \\{$x, $y\\}], "
              "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_2D_V4B16_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
             "sust.b.2d.v4.b16.clamp \t[$s, \\{$x, $y\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_2D_V4B32_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r,
                   Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
             "sust.b.2d.v4.b32.clamp \t[$s, \\{$x, $y\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;


def SUST_B_2D_ARRAY_B8_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r),
              "sust.b.a2d.b8.clamp \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_ARRAY_B16_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r),
              "sust.b.a2d.b16.clamp \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_ARRAY_B32_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$r),
              "sust.b.a2d.b32.clamp \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_ARRAY_B64_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int64Regs:$r),
              "sust.b.a2d.b64.clamp \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_ARRAY_V2B8_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g),
              "sust.b.a2d.v2.b8.clamp \t[$s, \\{$idx, $x, $y, $y\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_B_2D_ARRAY_V2B16_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g),
             "sust.b.a2d.v2.b16.clamp \t[$s, \\{$idx, $x, $y, $y\\}], "
             "\\{$r, $g\\};",
              []>;
def SUST_B_2D_ARRAY_V2B32_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$r, Int32Regs:$g),
             "sust.b.a2d.v2.b32.clamp \t[$s, \\{$idx, $x, $y, $y\\}], "
             "\\{$r, $g\\};",
              []>;
def SUST_B_2D_ARRAY_V2B64_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int64Regs:$r, Int64Regs:$g),
             "sust.b.a2d.v2.b64.clamp \t[$s, \\{$idx, $x, $y, $y\\}], "
             "\\{$r, $g\\};",
              []>;
def SUST_B_2D_ARRAY_V4B8_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
      "sust.b.a2d.v4.b8.clamp \t[$s, \\{$idx, $x, $y, $y\\}], "
      "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_2D_ARRAY_V4B16_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
     "sust.b.a2d.v4.b16.clamp \t[$s, \\{$idx, $x, $y, $y\\}], "
     "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_2D_ARRAY_V4B32_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
     "sust.b.a2d.v4.b32.clamp \t[$s, \\{$idx, $x, $y, $y\\}], "
     "\\{$r, $g, $b, $a\\};",
              []>;


def SUST_B_3D_B8_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r),
              "sust.b.3d.b8.clamp \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};",
              []>;
def SUST_B_3D_B16_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r),
              "sust.b.3d.b16.clamp \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};",
              []>;
def SUST_B_3D_B32_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int32Regs:$r),
              "sust.b.3d.b32.clamp \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};",
              []>;
def SUST_B_3D_B64_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int64Regs:$r),
              "sust.b.3d.b64.clamp \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};",
              []>;
def SUST_B_3D_V2B8_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g),
              "sust.b.3d.v2.b8.clamp \t[$s, \\{$x, $y, $z, $z\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_B_3D_V2B16_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g),
              "sust.b.3d.v2.b16.clamp \t[$s, \\{$x, $y, $z, $z\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_B_3D_V2B32_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int32Regs:$r, Int32Regs:$g),
              "sust.b.3d.v2.b32.clamp \t[$s, \\{$x, $y, $z, $z\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_B_3D_V2B64_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int64Regs:$r, Int64Regs:$g),
              "sust.b.3d.v2.b64.clamp \t[$s, \\{$x, $y, $z, $z\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_B_3D_V4B8_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
         "sust.b.3d.v4.b8.clamp \t[$s, \\{$x, $y, $z, $z\\}], "
         "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_3D_V4B16_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
        "sust.b.3d.v4.b16.clamp \t[$s, \\{$x, $y, $z, $z\\}], "
        "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_3D_V4B32_CLAMP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
        "sust.b.3d.v4.b32.clamp \t[$s, \\{$x, $y, $z, $z\\}], "
        "\\{$r, $g, $b, $a\\};",
              []>;


// .trap variant
def SUST_B_1D_B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
              "sust.b.1d.b8.trap \t[$s, \\{$x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
              "sust.b.1d.b16.trap \t[$s, \\{$x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r),
              "sust.b.1d.b32.trap \t[$s, \\{$x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_B64_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int64Regs:$r),
              "sust.b.1d.b64.trap \t[$s, \\{$x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_V2B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
              "sust.b.1d.v2.b8.trap \t[$s, \\{$x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_V2B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
              "sust.b.1d.v2.b16.trap \t[$s, \\{$x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_V2B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g),
              "sust.b.1d.v2.b32.trap \t[$s, \\{$x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_V2B64_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g),
              "sust.b.1d.v2.b64.trap \t[$s, \\{$x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_V4B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g,
                   Int16Regs:$b, Int16Regs:$a),
              "sust.b.1d.v4.b8.trap \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_1D_V4B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g,
                   Int16Regs:$b, Int16Regs:$a),
              "sust.b.1d.v4.b16.trap \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_1D_V4B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g,
                   Int32Regs:$b, Int32Regs:$a),
              "sust.b.1d.v4.b32.trap \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};",
              []>;


def SUST_B_1D_ARRAY_B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r),
              "sust.b.a1d.b8.trap \t[$s, \\{$idx, $x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_ARRAY_B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r),
              "sust.b.a1d.b16.trap \t[$s, \\{$idx, $x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_ARRAY_B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r),
              "sust.b.a1d.b32.trap \t[$s, \\{$idx, $x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_ARRAY_B64_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int64Regs:$r),
              "sust.b.a1d.b64.trap \t[$s, \\{$idx, $x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_ARRAY_V2B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.b.a1d.v2.b8.trap \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_ARRAY_V2B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.b.a1d.v2.b16.trap \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_ARRAY_V2B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r,
                   Int32Regs:$g),
              "sust.b.a1d.v2.b32.trap \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_ARRAY_V2B64_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int64Regs:$r,
                   Int64Regs:$g),
              "sust.b.a1d.v2.b64.trap \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_ARRAY_V4B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              "sust.b.a1d.v4.b8.trap \t[$s, \\{$idx, $x\\}], "
              "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_1D_ARRAY_V4B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
             "sust.b.a1d.v4.b16.trap \t[$s, \\{$idx, $x\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_1D_ARRAY_V4B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r,
                   Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
             "sust.b.a1d.v4.b32.trap \t[$s, \\{$idx, $x\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;


def SUST_B_2D_B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
              "sust.b.2d.b8.trap \t[$s, \\{$x, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
              "sust.b.2d.b16.trap \t[$s, \\{$x, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r),
              "sust.b.2d.b32.trap \t[$s, \\{$x, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_B64_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r),
              "sust.b.2d.b64.trap \t[$s, \\{$x, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_V2B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.b.2d.v2.b8.trap \t[$s, \\{$x, $y\\}], \\{$r, $g\\};",
              []>;
def SUST_B_2D_V2B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.b.2d.v2.b16.trap \t[$s, \\{$x, $y\\}], \\{$r, $g\\};",
              []>;
def SUST_B_2D_V2B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r,
                   Int32Regs:$g),
              "sust.b.2d.v2.b32.trap \t[$s, \\{$x, $y\\}], \\{$r, $g\\};",
              []>;
def SUST_B_2D_V2B64_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r,
                   Int64Regs:$g),
              "sust.b.2d.v2.b64.trap \t[$s, \\{$x, $y\\}], \\{$r, $g\\};",
              []>;
def SUST_B_2D_V4B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              "sust.b.2d.v4.b8.trap \t[$s, \\{$x, $y\\}], "
              "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_2D_V4B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
             "sust.b.2d.v4.b16.trap \t[$s, \\{$x, $y\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_2D_V4B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r,
                   Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
             "sust.b.2d.v4.b32.trap \t[$s, \\{$x, $y\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;


def SUST_B_2D_ARRAY_B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r),
              "sust.b.a2d.b8.trap \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_ARRAY_B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r),
              "sust.b.a2d.b16.trap \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_ARRAY_B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$r),
              "sust.b.a2d.b32.trap \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_ARRAY_B64_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int64Regs:$r),
              "sust.b.a2d.b64.trap \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_ARRAY_V2B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g),
              "sust.b.a2d.v2.b8.trap \t[$s, \\{$idx, $x, $y, $y\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_B_2D_ARRAY_V2B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g),
             "sust.b.a2d.v2.b16.trap \t[$s, \\{$idx, $x, $y, $y\\}], "
             "\\{$r, $g\\};",
              []>;
def SUST_B_2D_ARRAY_V2B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$r, Int32Regs:$g),
             "sust.b.a2d.v2.b32.trap \t[$s, \\{$idx, $x, $y, $y\\}], "
             "\\{$r, $g\\};",
              []>;
def SUST_B_2D_ARRAY_V2B64_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int64Regs:$r, Int64Regs:$g),
             "sust.b.a2d.v2.b64.trap \t[$s, \\{$idx, $x, $y, $y\\}], "
             "\\{$r, $g\\};",
              []>;
def SUST_B_2D_ARRAY_V4B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
      "sust.b.a2d.v4.b8.trap \t[$s, \\{$idx, $x, $y, $y\\}], "
      "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_2D_ARRAY_V4B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
     "sust.b.a2d.v4.b16.trap \t[$s, \\{$idx, $x, $y, $y\\}], "
     "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_2D_ARRAY_V4B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
     "sust.b.a2d.v4.b32.trap \t[$s, \\{$idx, $x, $y, $y\\}], "
     "\\{$r, $g, $b, $a\\};",
              []>;


def SUST_B_3D_B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r),
              "sust.b.3d.b8.trap \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};",
              []>;
def SUST_B_3D_B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r),
              "sust.b.3d.b16.trap \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};",
              []>;
def SUST_B_3D_B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int32Regs:$r),
              "sust.b.3d.b32.trap \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};",
              []>;
def SUST_B_3D_B64_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int64Regs:$r),
              "sust.b.3d.b64.trap \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};",
              []>;
def SUST_B_3D_V2B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g),
              "sust.b.3d.v2.b8.trap \t[$s, \\{$x, $y, $z, $z\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_B_3D_V2B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g),
              "sust.b.3d.v2.b16.trap \t[$s, \\{$x, $y, $z, $z\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_B_3D_V2B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int32Regs:$r, Int32Regs:$g),
              "sust.b.3d.v2.b32.trap \t[$s, \\{$x, $y, $z, $z\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_B_3D_V2B64_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int64Regs:$r, Int64Regs:$g),
              "sust.b.3d.v2.b64.trap \t[$s, \\{$x, $y, $z, $z\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_B_3D_V4B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
         "sust.b.3d.v4.b8.trap \t[$s, \\{$x, $y, $z, $z\\}], "
         "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_3D_V4B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
        "sust.b.3d.v4.b16.trap \t[$s, \\{$x, $y, $z, $z\\}], "
        "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_3D_V4B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
        "sust.b.3d.v4.b32.trap \t[$s, \\{$x, $y, $z, $z\\}], "
        "\\{$r, $g, $b, $a\\};",
              []>;


// .zero variant
def SUST_B_1D_B8_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
              "sust.b.1d.b8.zero \t[$s, \\{$x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_B16_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
              "sust.b.1d.b16.zero \t[$s, \\{$x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_B32_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r),
              "sust.b.1d.b32.zero \t[$s, \\{$x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_B64_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int64Regs:$r),
              "sust.b.1d.b64.zero \t[$s, \\{$x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_V2B8_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
              "sust.b.1d.v2.b8.zero \t[$s, \\{$x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_V2B16_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
              "sust.b.1d.v2.b16.zero \t[$s, \\{$x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_V2B32_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g),
              "sust.b.1d.v2.b32.zero \t[$s, \\{$x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_V2B64_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g),
              "sust.b.1d.v2.b64.zero \t[$s, \\{$x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_V4B8_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g,
                   Int16Regs:$b, Int16Regs:$a),
              "sust.b.1d.v4.b8.zero \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_1D_V4B16_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g,
                   Int16Regs:$b, Int16Regs:$a),
              "sust.b.1d.v4.b16.zero \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_1D_V4B32_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g,
                   Int32Regs:$b, Int32Regs:$a),
              "sust.b.1d.v4.b32.zero \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};",
              []>;


def SUST_B_1D_ARRAY_B8_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r),
              "sust.b.a1d.b8.zero \t[$s, \\{$idx, $x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_ARRAY_B16_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r),
              "sust.b.a1d.b16.zero \t[$s, \\{$idx, $x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_ARRAY_B32_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r),
              "sust.b.a1d.b32.zero \t[$s, \\{$idx, $x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_ARRAY_B64_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int64Regs:$r),
              "sust.b.a1d.b64.zero \t[$s, \\{$idx, $x\\}], \\{$r\\};",
              []>;
def SUST_B_1D_ARRAY_V2B8_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.b.a1d.v2.b8.zero \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_ARRAY_V2B16_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.b.a1d.v2.b16.zero \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_ARRAY_V2B32_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r,
                   Int32Regs:$g),
              "sust.b.a1d.v2.b32.zero \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_ARRAY_V2B64_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int64Regs:$r,
                   Int64Regs:$g),
              "sust.b.a1d.v2.b64.zero \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};",
              []>;
def SUST_B_1D_ARRAY_V4B8_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              "sust.b.a1d.v4.b8.zero \t[$s, \\{$idx, $x\\}], "
              "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_1D_ARRAY_V4B16_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
             "sust.b.a1d.v4.b16.zero \t[$s, \\{$idx, $x\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_1D_ARRAY_V4B32_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r,
                   Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
             "sust.b.a1d.v4.b32.zero \t[$s, \\{$idx, $x\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;


def SUST_B_2D_B8_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
              "sust.b.2d.b8.zero \t[$s, \\{$x, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_B16_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
              "sust.b.2d.b16.zero \t[$s, \\{$x, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_B32_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r),
              "sust.b.2d.b32.zero \t[$s, \\{$x, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_B64_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r),
              "sust.b.2d.b64.zero \t[$s, \\{$x, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_V2B8_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.b.2d.v2.b8.zero \t[$s, \\{$x, $y\\}], \\{$r, $g\\};",
              []>;
def SUST_B_2D_V2B16_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.b.2d.v2.b16.zero \t[$s, \\{$x, $y\\}], \\{$r, $g\\};",
              []>;
def SUST_B_2D_V2B32_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r,
                   Int32Regs:$g),
              "sust.b.2d.v2.b32.zero \t[$s, \\{$x, $y\\}], \\{$r, $g\\};",
              []>;
def SUST_B_2D_V2B64_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r,
                   Int64Regs:$g),
              "sust.b.2d.v2.b64.zero \t[$s, \\{$x, $y\\}], \\{$r, $g\\};",
              []>;
def SUST_B_2D_V4B8_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              "sust.b.2d.v4.b8.zero \t[$s, \\{$x, $y\\}], "
              "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_2D_V4B16_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
             "sust.b.2d.v4.b16.zero \t[$s, \\{$x, $y\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_2D_V4B32_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r,
                   Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
             "sust.b.2d.v4.b32.zero \t[$s, \\{$x, $y\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;


def SUST_B_2D_ARRAY_B8_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r),
              "sust.b.a2d.b8.zero \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_ARRAY_B16_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r),
              "sust.b.a2d.b16.zero \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_ARRAY_B32_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$r),
              "sust.b.a2d.b32.zero \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_ARRAY_B64_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int64Regs:$r),
              "sust.b.a2d.b64.zero \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};",
              []>;
def SUST_B_2D_ARRAY_V2B8_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g),
              "sust.b.a2d.v2.b8.zero \t[$s, \\{$idx, $x, $y, $y\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_B_2D_ARRAY_V2B16_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g),
             "sust.b.a2d.v2.b16.zero \t[$s, \\{$idx, $x, $y, $y\\}], "
             "\\{$r, $g\\};",
              []>;
def SUST_B_2D_ARRAY_V2B32_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$r, Int32Regs:$g),
             "sust.b.a2d.v2.b32.zero \t[$s, \\{$idx, $x, $y, $y\\}], "
             "\\{$r, $g\\};",
              []>;
def SUST_B_2D_ARRAY_V2B64_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int64Regs:$r, Int64Regs:$g),
             "sust.b.a2d.v2.b64.zero \t[$s, \\{$idx, $x, $y, $y\\}], "
             "\\{$r, $g\\};",
              []>;
def SUST_B_2D_ARRAY_V4B8_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
      "sust.b.a2d.v4.b8.zero \t[$s, \\{$idx, $x, $y, $y\\}], "
      "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_2D_ARRAY_V4B16_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
     "sust.b.a2d.v4.b16.zero \t[$s, \\{$idx, $x, $y, $y\\}], "
     "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_2D_ARRAY_V4B32_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
     "sust.b.a2d.v4.b32.zero \t[$s, \\{$idx, $x, $y, $y\\}], "
     "\\{$r, $g, $b, $a\\};",
              []>;


def SUST_B_3D_B8_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r),
              "sust.b.3d.b8.zero \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};",
              []>;
def SUST_B_3D_B16_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r),
              "sust.b.3d.b16.zero \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};",
              []>;
def SUST_B_3D_B32_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int32Regs:$r),
              "sust.b.3d.b32.zero \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};",
              []>;
def SUST_B_3D_B64_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int64Regs:$r),
              "sust.b.3d.b64.zero \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};",
              []>;
def SUST_B_3D_V2B8_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g),
              "sust.b.3d.v2.b8.zero \t[$s, \\{$x, $y, $z, $z\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_B_3D_V2B16_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g),
              "sust.b.3d.v2.b16.zero \t[$s, \\{$x, $y, $z, $z\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_B_3D_V2B32_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int32Regs:$r, Int32Regs:$g),
              "sust.b.3d.v2.b32.zero \t[$s, \\{$x, $y, $z, $z\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_B_3D_V2B64_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int64Regs:$r, Int64Regs:$g),
              "sust.b.3d.v2.b64.zero \t[$s, \\{$x, $y, $z, $z\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_B_3D_V4B8_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
         "sust.b.3d.v4.b8.zero \t[$s, \\{$x, $y, $z, $z\\}], "
         "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_3D_V4B16_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
        "sust.b.3d.v4.b16.zero \t[$s, \\{$x, $y, $z, $z\\}], "
        "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_B_3D_V4B32_ZERO
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
        "sust.b.3d.v4.b32.zero \t[$s, \\{$x, $y, $z, $z\\}], "
        "\\{$r, $g, $b, $a\\};",
              []>;



// Formatted

def SUST_P_1D_B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
              "sust.p.1d.b8.trap \t[$s, \\{$x\\}], \\{$r\\};",
              []>;
def SUST_P_1D_B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
              "sust.p.1d.b16.trap \t[$s, \\{$x\\}], \\{$r\\};",
              []>;
def SUST_P_1D_B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r),
              "sust.p.1d.b32.trap \t[$s, \\{$x\\}], \\{$r\\};",
              []>;
def SUST_P_1D_V2B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
              "sust.p.1d.v2.b8.trap \t[$s, \\{$x\\}], \\{$r, $g\\};",
              []>;
def SUST_P_1D_V2B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
              "sust.p.1d.v2.b16.trap \t[$s, \\{$x\\}], \\{$r, $g\\};",
              []>;
def SUST_P_1D_V2B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g),
              "sust.p.1d.v2.b32.trap \t[$s, \\{$x\\}], \\{$r, $g\\};",
              []>;
def SUST_P_1D_V4B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g,
                   Int16Regs:$b, Int16Regs:$a),
              "sust.p.1d.v4.b8.trap \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};",
              []>;
def SUST_P_1D_V4B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g,
                   Int16Regs:$b, Int16Regs:$a),
              "sust.p.1d.v4.b16.trap \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};",
              []>;
def SUST_P_1D_V4B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g,
                   Int32Regs:$b, Int32Regs:$a),
              "sust.p.1d.v4.b32.trap \t[$s, \\{$x\\}], \\{$r, $g, $b, $a\\};",
              []>;


def SUST_P_1D_ARRAY_B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r),
              "sust.p.a1d.b8.trap \t[$s, \\{$idx, $x\\}], \\{$r\\};",
              []>;
def SUST_P_1D_ARRAY_B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r),
              "sust.p.a1d.b16.trap \t[$s, \\{$idx, $x\\}], \\{$r\\};",
              []>;
def SUST_P_1D_ARRAY_B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r),
              "sust.p.a1d.b32.trap \t[$s, \\{$idx, $x\\}], \\{$r\\};",
              []>;
def SUST_P_1D_ARRAY_V2B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.p.a1d.v2.b8.trap \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};",
              []>;
def SUST_P_1D_ARRAY_V2B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.p.a1d.v2.b16.trap \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};",
              []>;
def SUST_P_1D_ARRAY_V2B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r,
                   Int32Regs:$g),
              "sust.p.a1d.v2.b32.trap \t[$s, \\{$idx, $x\\}], \\{$r, $g\\};",
              []>;
def SUST_P_1D_ARRAY_V4B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              "sust.p.a1d.v4.b8.trap \t[$s, \\{$idx, $x\\}], "
              "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_P_1D_ARRAY_V4B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
             "sust.p.a1d.v4.b16.trap \t[$s, \\{$idx, $x\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_P_1D_ARRAY_V4B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$r,
                   Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
             "sust.p.a1d.v4.b32.trap \t[$s, \\{$idx, $x\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;


def SUST_P_2D_B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
              "sust.p.2d.b8.trap \t[$s, \\{$x, $y\\}], \\{$r\\};",
              []>;
def SUST_P_2D_B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
              "sust.p.2d.b16.trap \t[$s, \\{$x, $y\\}], \\{$r\\};",
              []>;
def SUST_P_2D_B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r),
              "sust.p.2d.b32.trap \t[$s, \\{$x, $y\\}], \\{$r\\};",
              []>;
def SUST_P_2D_V2B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.p.2d.v2.b8.trap \t[$s, \\{$x, $y\\}], \\{$r, $g\\};",
              []>;
def SUST_P_2D_V2B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g),
              "sust.p.2d.v2.b16.trap \t[$s, \\{$x, $y\\}], \\{$r, $g\\};",
              []>;
def SUST_P_2D_V2B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r,
                   Int32Regs:$g),
              "sust.p.2d.v2.b32.trap \t[$s, \\{$x, $y\\}], \\{$r, $g\\};",
              []>;
def SUST_P_2D_V4B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
              "sust.p.2d.v4.b8.trap \t[$s, \\{$x, $y\\}], "
              "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_P_2D_V4B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r,
                   Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
             "sust.p.2d.v4.b16.trap \t[$s, \\{$x, $y\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_P_2D_V4B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r,
                   Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
             "sust.p.2d.v4.b32.trap \t[$s, \\{$x, $y\\}], "
             "\\{$r, $g, $b, $a\\};",
              []>;


def SUST_P_2D_ARRAY_B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r),
              "sust.p.a2d.b8.trap \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};",
              []>;
def SUST_P_2D_ARRAY_B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r),
              "sust.p.a2d.b16.trap \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};",
              []>;
def SUST_P_2D_ARRAY_B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$r),
              "sust.p.a2d.b32.trap \t[$s, \\{$idx, $x, $y, $y\\}], \\{$r\\};",
              []>;
def SUST_P_2D_ARRAY_V2B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g),
              "sust.p.a2d.v2.b8.trap \t[$s, \\{$idx, $x, $y, $y\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_P_2D_ARRAY_V2B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g),
             "sust.p.a2d.v2.b16.trap \t[$s, \\{$idx, $x, $y, $y\\}], "
             "\\{$r, $g\\};",
              []>;
def SUST_P_2D_ARRAY_V2B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$r, Int32Regs:$g),
             "sust.p.a2d.v2.b32.trap \t[$s, \\{$idx, $x, $y, $y\\}], "
             "\\{$r, $g\\};",
              []>;
def SUST_P_2D_ARRAY_V4B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
      "sust.p.a2d.v4.b8.trap \t[$s, \\{$idx, $x, $y, $y\\}], "
      "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_P_2D_ARRAY_V4B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
     "sust.p.a2d.v4.b16.trap \t[$s, \\{$idx, $x, $y, $y\\}], "
     "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_P_2D_ARRAY_V4B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$idx, Int32Regs:$x, Int32Regs:$y,
                   Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
     "sust.p.a2d.v4.b32.trap \t[$s, \\{$idx, $x, $y, $y\\}], "
     "\\{$r, $g, $b, $a\\};",
              []>;


def SUST_P_3D_B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r),
              "sust.p.3d.b8.trap \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};",
              []>;
def SUST_P_3D_B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r),
              "sust.p.3d.b16.trap \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};",
              []>;
def SUST_P_3D_B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int32Regs:$r),
              "sust.p.3d.b32.trap \t[$s, \\{$x, $y, $z, $z\\}], \\{$r\\};",
              []>;
def SUST_P_3D_V2B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g),
              "sust.p.3d.v2.b8.trap \t[$s, \\{$x, $y, $z, $z\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_P_3D_V2B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g),
              "sust.p.3d.v2.b16.trap \t[$s, \\{$x, $y, $z, $z\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_P_3D_V2B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int32Regs:$r, Int32Regs:$g),
              "sust.p.3d.v2.b32.trap \t[$s, \\{$x, $y, $z, $z\\}], "
              "\\{$r, $g\\};",
              []>;
def SUST_P_3D_V4B8_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
         "sust.p.3d.v4.b8.trap \t[$s, \\{$x, $y, $z, $z\\}], "
         "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_P_3D_V4B16_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
        "sust.p.3d.v4.b16.trap \t[$s, \\{$x, $y, $z, $z\\}], "
        "\\{$r, $g, $b, $a\\};",
              []>;
def SUST_P_3D_V4B32_TRAP
  : NVPTXInst<(outs),
              (ins Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
                   Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
        "sust.p.3d.v4.b32.trap \t[$s, \\{$x, $y, $z, $z\\}], "
        "\\{$r, $g, $b, $a\\};",
              []>;
}

// Surface store instruction patterns
// I'm not sure why we can't just include these in the instruction definitions,
// but TableGen complains of type errors :(

// .clamp variant
def : Pat<(int_nvvm_sust_b_1d_i8_clamp
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
          (SUST_B_1D_B8_CLAMP Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_i16_clamp
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
          (SUST_B_1D_B16_CLAMP Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_i32_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$r),
          (SUST_B_1D_B32_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_i64_clamp
           Int64Regs:$s, Int32Regs:$x, Int64Regs:$r),
          (SUST_B_1D_B64_CLAMP Int64Regs:$s, Int32Regs:$x, Int64Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_v2i8_clamp
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_1D_V2B8_CLAMP Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_v2i16_clamp
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_1D_V2B16_CLAMP Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_v2i32_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g),
          (SUST_B_1D_V2B32_CLAMP Int64Regs:$s, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_v2i64_clamp
           Int64Regs:$s, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g),
          (SUST_B_1D_V2B64_CLAMP Int64Regs:$s, Int32Regs:$x,
           Int64Regs:$r, Int64Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_v4i8_clamp
           Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_1D_V4B8_CLAMP Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_1d_v4i16_clamp
           Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_1D_V4B16_CLAMP Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_1d_v4i32_clamp
           Int64Regs:$s, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_B_1D_V4B32_CLAMP Int64Regs:$s, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_b_1d_array_i8_clamp
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r),
          (SUST_B_1D_ARRAY_B8_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_array_i16_clamp
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r),
          (SUST_B_1D_ARRAY_B16_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_array_i32_clamp
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r),
          (SUST_B_1D_ARRAY_B32_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_array_i64_clamp
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int64Regs:$r),
          (SUST_B_1D_ARRAY_B64_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int64Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_array_v2i8_clamp
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_1D_ARRAY_V2B8_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_array_v2i16_clamp
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_1D_ARRAY_V2B16_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_array_v2i32_clamp
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g),
          (SUST_B_1D_ARRAY_V2B32_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_array_v2i64_clamp
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g),
          (SUST_B_1D_ARRAY_V2B64_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int64Regs:$r, Int64Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_array_v4i8_clamp
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_1D_ARRAY_V4B8_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_1d_array_v4i16_clamp
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_1D_ARRAY_V4B16_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_1d_array_v4i32_clamp
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_B_1D_ARRAY_V4B32_CLAMP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_b_2d_i8_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_B_2D_B8_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_i16_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_B_2D_B16_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_i32_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r),
          (SUST_B_2D_B32_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_i64_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r),
          (SUST_B_2D_B64_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int64Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_v2i8_clamp
          Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_2D_V2B8_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_v2i16_clamp
          Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_2D_V2B16_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_v2i32_clamp
          Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g),
          (SUST_B_2D_V2B32_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_v2i64_clamp
          Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, Int64Regs:$g),
          (SUST_B_2D_V2B64_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int64Regs:$r, Int64Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_v4i8_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_2D_V4B8_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_2d_v4i16_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_2D_V4B16_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_2d_v4i32_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_B_2D_V4B32_CLAMP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_b_2d_array_i8_clamp
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_B_2D_ARRAY_B8_CLAMP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_array_i16_clamp
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_B_2D_ARRAY_B16_CLAMP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_array_i32_clamp
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r),
          (SUST_B_2D_ARRAY_B32_CLAMP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_array_i64_clamp
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r),
          (SUST_B_2D_ARRAY_B64_CLAMP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int64Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_array_v2i8_clamp
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_B_2D_ARRAY_V2B8_CLAMP Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_array_v2i16_clamp
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_B_2D_ARRAY_V2B16_CLAMP Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_array_v2i32_clamp
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r,
           Int32Regs:$g),
          (SUST_B_2D_ARRAY_V2B32_CLAMP Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_array_v2i64_clamp
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r,
           Int64Regs:$g),
          (SUST_B_2D_ARRAY_V2B64_CLAMP Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, Int64Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_array_v4i8_clamp
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_2D_ARRAY_V4B8_CLAMP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_2d_array_v4i16_clamp
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_2D_ARRAY_V4B16_CLAMP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_2d_array_v4i32_clamp
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_B_2D_ARRAY_V4B32_CLAMP Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_b_3d_i8_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r),
          (SUST_B_3D_B8_CLAMP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_3d_i16_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r),
          (SUST_B_3D_B16_CLAMP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_3d_i32_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r),
          (SUST_B_3D_B32_CLAMP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_b_3d_i64_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int64Regs:$r),
          (SUST_B_3D_B64_CLAMP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int64Regs:$r)>;

def : Pat<(int_nvvm_sust_b_3d_v2i8_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_B_3D_V2B8_CLAMP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_3d_v2i16_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_B_3D_V2B16_CLAMP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_3d_v2i32_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g),
          (SUST_B_3D_V2B32_CLAMP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_b_3d_v2i64_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int64Regs:$r, Int64Regs:$g),
          (SUST_B_3D_V2B64_CLAMP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int64Regs:$r, Int64Regs:$g)>;

def : Pat<(int_nvvm_sust_b_3d_v4i8_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_3D_V4B8_CLAMP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_3d_v4i16_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_3D_V4B16_CLAMP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_3d_v4i32_clamp
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_B_3D_V4B32_CLAMP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;


// .trap variant
def : Pat<(int_nvvm_sust_b_1d_i8_trap
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
          (SUST_B_1D_B8_TRAP Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_i16_trap
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
          (SUST_B_1D_B16_TRAP Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_i32_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$r),
          (SUST_B_1D_B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_i64_trap
           Int64Regs:$s, Int32Regs:$x, Int64Regs:$r),
          (SUST_B_1D_B64_TRAP Int64Regs:$s, Int32Regs:$x, Int64Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_v2i8_trap
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_1D_V2B8_TRAP Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_v2i16_trap
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_1D_V2B16_TRAP Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_v2i32_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g),
          (SUST_B_1D_V2B32_TRAP Int64Regs:$s, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_v2i64_trap
           Int64Regs:$s, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g),
          (SUST_B_1D_V2B64_TRAP Int64Regs:$s, Int32Regs:$x,
           Int64Regs:$r, Int64Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_v4i8_trap
           Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_1D_V4B8_TRAP Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_1d_v4i16_trap
           Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_1D_V4B16_TRAP Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_1d_v4i32_trap
           Int64Regs:$s, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_B_1D_V4B32_TRAP Int64Regs:$s, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_b_1d_array_i8_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r),
          (SUST_B_1D_ARRAY_B8_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_array_i16_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r),
          (SUST_B_1D_ARRAY_B16_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_array_i32_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r),
          (SUST_B_1D_ARRAY_B32_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_array_i64_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int64Regs:$r),
          (SUST_B_1D_ARRAY_B64_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int64Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_array_v2i8_trap
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_1D_ARRAY_V2B8_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_array_v2i16_trap
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_1D_ARRAY_V2B16_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_array_v2i32_trap
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g),
          (SUST_B_1D_ARRAY_V2B32_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_array_v2i64_trap
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g),
          (SUST_B_1D_ARRAY_V2B64_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int64Regs:$r, Int64Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_array_v4i8_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_1D_ARRAY_V4B8_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_1d_array_v4i16_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_1D_ARRAY_V4B16_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_1d_array_v4i32_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_B_1D_ARRAY_V4B32_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_b_2d_i8_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_B_2D_B8_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_i16_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_B_2D_B16_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_i32_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r),
          (SUST_B_2D_B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_i64_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r),
          (SUST_B_2D_B64_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int64Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_v2i8_trap
          Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_2D_V2B8_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_v2i16_trap
          Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_2D_V2B16_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_v2i32_trap
          Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g),
          (SUST_B_2D_V2B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_v2i64_trap
          Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, Int64Regs:$g),
          (SUST_B_2D_V2B64_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int64Regs:$r, Int64Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_v4i8_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_2D_V4B8_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_2d_v4i16_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_2D_V4B16_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_2d_v4i32_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_B_2D_V4B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_b_2d_array_i8_trap
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_B_2D_ARRAY_B8_TRAP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_array_i16_trap
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_B_2D_ARRAY_B16_TRAP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_array_i32_trap
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r),
          (SUST_B_2D_ARRAY_B32_TRAP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_array_i64_trap
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r),
          (SUST_B_2D_ARRAY_B64_TRAP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int64Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_array_v2i8_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_B_2D_ARRAY_V2B8_TRAP Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_array_v2i16_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_B_2D_ARRAY_V2B16_TRAP Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_array_v2i32_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r,
           Int32Regs:$g),
          (SUST_B_2D_ARRAY_V2B32_TRAP Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_array_v2i64_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r,
           Int64Regs:$g),
          (SUST_B_2D_ARRAY_V2B64_TRAP Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, Int64Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_array_v4i8_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_2D_ARRAY_V4B8_TRAP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_2d_array_v4i16_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_2D_ARRAY_V4B16_TRAP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_2d_array_v4i32_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_B_2D_ARRAY_V4B32_TRAP Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_b_3d_i8_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r),
          (SUST_B_3D_B8_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_3d_i16_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r),
          (SUST_B_3D_B16_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_3d_i32_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r),
          (SUST_B_3D_B32_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_b_3d_i64_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int64Regs:$r),
          (SUST_B_3D_B64_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int64Regs:$r)>;

def : Pat<(int_nvvm_sust_b_3d_v2i8_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_B_3D_V2B8_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_3d_v2i16_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_B_3D_V2B16_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_3d_v2i32_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g),
          (SUST_B_3D_V2B32_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_b_3d_v2i64_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int64Regs:$r, Int64Regs:$g),
          (SUST_B_3D_V2B64_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int64Regs:$r, Int64Regs:$g)>;

def : Pat<(int_nvvm_sust_b_3d_v4i8_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_3D_V4B8_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_3d_v4i16_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_3D_V4B16_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_3d_v4i32_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_B_3D_V4B32_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;


// .zero variant
def : Pat<(int_nvvm_sust_b_1d_i8_zero
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
          (SUST_B_1D_B8_ZERO Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_i16_zero
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
          (SUST_B_1D_B16_ZERO Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_i32_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$r),
          (SUST_B_1D_B32_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_i64_zero
           Int64Regs:$s, Int32Regs:$x, Int64Regs:$r),
          (SUST_B_1D_B64_ZERO Int64Regs:$s, Int32Regs:$x, Int64Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_v2i8_zero
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_1D_V2B8_ZERO Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_v2i16_zero
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_1D_V2B16_ZERO Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_v2i32_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g),
          (SUST_B_1D_V2B32_ZERO Int64Regs:$s, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_v2i64_zero
           Int64Regs:$s, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g),
          (SUST_B_1D_V2B64_ZERO Int64Regs:$s, Int32Regs:$x,
           Int64Regs:$r, Int64Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_v4i8_zero
           Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_1D_V4B8_ZERO Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_1d_v4i16_zero
           Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_1D_V4B16_ZERO Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_1d_v4i32_zero
           Int64Regs:$s, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_B_1D_V4B32_ZERO Int64Regs:$s, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_b_1d_array_i8_zero
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r),
          (SUST_B_1D_ARRAY_B8_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_array_i16_zero
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r),
          (SUST_B_1D_ARRAY_B16_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_array_i32_zero
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r),
          (SUST_B_1D_ARRAY_B32_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_array_i64_zero
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int64Regs:$r),
          (SUST_B_1D_ARRAY_B64_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int64Regs:$r)>;

def : Pat<(int_nvvm_sust_b_1d_array_v2i8_zero
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_1D_ARRAY_V2B8_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_array_v2i16_zero
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_1D_ARRAY_V2B16_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_array_v2i32_zero
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g),
          (SUST_B_1D_ARRAY_V2B32_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_array_v2i64_zero
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int64Regs:$r, Int64Regs:$g),
          (SUST_B_1D_ARRAY_V2B64_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int64Regs:$r, Int64Regs:$g)>;

def : Pat<(int_nvvm_sust_b_1d_array_v4i8_zero
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_1D_ARRAY_V4B8_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_1d_array_v4i16_zero
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_1D_ARRAY_V4B16_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_1d_array_v4i32_zero
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_B_1D_ARRAY_V4B32_ZERO Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_b_2d_i8_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_B_2D_B8_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_i16_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_B_2D_B16_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_i32_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r),
          (SUST_B_2D_B32_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_i64_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r),
          (SUST_B_2D_B64_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int64Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_v2i8_zero
          Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_2D_V2B8_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_v2i16_zero
          Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g),
          (SUST_B_2D_V2B16_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_v2i32_zero
          Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g),
          (SUST_B_2D_V2B32_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_v2i64_zero
          Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, Int64Regs:$g),
          (SUST_B_2D_V2B64_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int64Regs:$r, Int64Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_v4i8_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_2D_V4B8_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_2d_v4i16_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_2D_V4B16_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_2d_v4i32_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_B_2D_V4B32_ZERO Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_b_2d_array_i8_zero
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_B_2D_ARRAY_B8_ZERO Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_array_i16_zero
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_B_2D_ARRAY_B16_ZERO Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_array_i32_zero
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r),
          (SUST_B_2D_ARRAY_B32_ZERO Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_array_i64_zero
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r),
          (SUST_B_2D_ARRAY_B64_ZERO Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int64Regs:$r)>;

def : Pat<(int_nvvm_sust_b_2d_array_v2i8_zero
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_B_2D_ARRAY_V2B8_ZERO Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_array_v2i16_zero
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_B_2D_ARRAY_V2B16_ZERO Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_array_v2i32_zero
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r,
           Int32Regs:$g),
          (SUST_B_2D_ARRAY_V2B32_ZERO Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_array_v2i64_zero
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int64Regs:$r,
           Int64Regs:$g),
          (SUST_B_2D_ARRAY_V2B64_ZERO Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y, Int64Regs:$r, Int64Regs:$g)>;

def : Pat<(int_nvvm_sust_b_2d_array_v4i8_zero
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_2D_ARRAY_V4B8_ZERO Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_2d_array_v4i16_zero
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_2D_ARRAY_V4B16_ZERO Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_2d_array_v4i32_zero
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_B_2D_ARRAY_V4B32_ZERO Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_b_3d_i8_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r),
          (SUST_B_3D_B8_ZERO Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_3d_i16_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r),
          (SUST_B_3D_B16_ZERO Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_b_3d_i32_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r),
          (SUST_B_3D_B32_ZERO Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_b_3d_i64_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int64Regs:$r),
          (SUST_B_3D_B64_ZERO Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int64Regs:$r)>;

def : Pat<(int_nvvm_sust_b_3d_v2i8_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_B_3D_V2B8_ZERO Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_3d_v2i16_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_B_3D_V2B16_ZERO Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_b_3d_v2i32_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g),
          (SUST_B_3D_V2B32_ZERO Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_b_3d_v2i64_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int64Regs:$r, Int64Regs:$g),
          (SUST_B_3D_V2B64_ZERO Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int64Regs:$r, Int64Regs:$g)>;

def : Pat<(int_nvvm_sust_b_3d_v4i8_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_3D_V4B8_ZERO Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_3d_v4i16_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_B_3D_V4B16_ZERO Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_b_3d_v4i32_zero
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_B_3D_V4B32_ZERO Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;




def : Pat<(int_nvvm_sust_p_1d_i8_trap
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
          (SUST_P_1D_B8_TRAP Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_p_1d_i16_trap
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r),
          (SUST_P_1D_B16_TRAP Int64Regs:$s, Int32Regs:$x, Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_p_1d_i32_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$r),
          (SUST_P_1D_B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_p_1d_v2i8_trap
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_P_1D_V2B8_TRAP Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_p_1d_v2i16_trap
           Int64Regs:$s, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_P_1D_V2B16_TRAP Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_p_1d_v2i32_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g),
          (SUST_P_1D_V2B32_TRAP Int64Regs:$s, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_p_1d_v4i8_trap
           Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_P_1D_V4B8_TRAP Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_p_1d_v4i16_trap
           Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_P_1D_V4B16_TRAP Int64Regs:$s, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_p_1d_v4i32_trap
           Int64Regs:$s, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_P_1D_V4B32_TRAP Int64Regs:$s, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_p_1d_array_i8_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r),
          (SUST_P_1D_ARRAY_B8_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_p_1d_array_i16_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r),
          (SUST_P_1D_ARRAY_B16_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_p_1d_array_i32_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r),
          (SUST_P_1D_ARRAY_B32_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_p_1d_array_v2i8_trap
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_P_1D_ARRAY_V2B8_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_p_1d_array_v2i16_trap
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int16Regs:$r, Int16Regs:$g),
          (SUST_P_1D_ARRAY_V2B16_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_p_1d_array_v2i32_trap
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$r, Int32Regs:$g),
          (SUST_P_1D_ARRAY_V2B32_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_p_1d_array_v4i8_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_P_1D_ARRAY_V4B8_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_p_1d_array_v4i16_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_P_1D_ARRAY_V4B16_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_p_1d_array_v4i32_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_P_1D_ARRAY_V4B32_TRAP Int64Regs:$s, Int32Regs:$l, Int32Regs:$x,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_p_2d_i8_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_P_2D_B8_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_p_2d_i16_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_P_2D_B16_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_p_2d_i32_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r),
          (SUST_P_2D_B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_p_2d_v2i8_trap
          Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g),
          (SUST_P_2D_V2B8_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_p_2d_v2i16_trap
          Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r, Int16Regs:$g),
          (SUST_P_2D_V2B16_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_p_2d_v2i32_trap
          Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g),
          (SUST_P_2D_V2B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_p_2d_v4i8_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_P_2D_V4B8_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_p_2d_v4i16_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_P_2D_V4B16_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_p_2d_v4i32_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_P_2D_V4B32_TRAP Int64Regs:$s, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_p_2d_array_i8_trap
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_P_2D_ARRAY_B8_TRAP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_p_2d_array_i16_trap
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int16Regs:$r),
          (SUST_P_2D_ARRAY_B16_TRAP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_p_2d_array_i32_trap
          Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r),
          (SUST_P_2D_ARRAY_B32_TRAP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_p_2d_array_v2i8_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_P_2D_ARRAY_V2B8_TRAP Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_p_2d_array_v2i16_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_P_2D_ARRAY_V2B16_TRAP Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_p_2d_array_v2i32_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y, Int32Regs:$r,
           Int32Regs:$g),
          (SUST_P_2D_ARRAY_V2B32_TRAP Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_p_2d_array_v4i8_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_P_2D_ARRAY_V4B8_TRAP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_p_2d_array_v4i16_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_P_2D_ARRAY_V4B16_TRAP Int64Regs:$s,
           Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_p_2d_array_v4i32_trap
           Int64Regs:$s, Int32Regs:$l, Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_P_2D_ARRAY_V4B32_TRAP Int64Regs:$s, Int32Regs:$l,
           Int32Regs:$x, Int32Regs:$y,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;



def : Pat<(int_nvvm_sust_p_3d_i8_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r),
          (SUST_P_3D_B8_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_p_3d_i16_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r),
          (SUST_P_3D_B16_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r)>;

def : Pat<(int_nvvm_sust_p_3d_i32_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r),
          (SUST_P_3D_B32_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r)>;

def : Pat<(int_nvvm_sust_p_3d_v2i8_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_P_3D_V2B8_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_p_3d_v2i16_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g),
          (SUST_P_3D_V2B16_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g)>;

def : Pat<(int_nvvm_sust_p_3d_v2i32_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g),
          (SUST_P_3D_V2B32_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g)>;

def : Pat<(int_nvvm_sust_p_3d_v4i8_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_P_3D_V4B8_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_p_3d_v4i16_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a),
          (SUST_P_3D_V4B16_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int16Regs:$r, Int16Regs:$g, Int16Regs:$b, Int16Regs:$a)>;

def : Pat<(int_nvvm_sust_p_3d_v4i32_trap
           Int64Regs:$s, Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a),
          (SUST_P_3D_V4B32_TRAP Int64Regs:$s,
           Int32Regs:$x, Int32Regs:$y, Int32Regs:$z,
           Int32Regs:$r, Int32Regs:$g, Int32Regs:$b, Int32Regs:$a)>;

//-----------------------------------
// Read Special Registers
//-----------------------------------

class PTX_READ_SREG_R64<string regname, Intrinsic intop>
  : NVPTXInst<(outs Int64Regs:$d), (ins),
              !strconcat("mov.u64 \t$d, %", regname, ";"),
              [(set Int64Regs:$d, (intop))]>;

class PTX_READ_SREG_R32<string regname, Intrinsic intop>
  : NVPTXInst<(outs Int32Regs:$d), (ins),
              !strconcat("mov.u32 \t$d, %", regname, ";"),
              [(set Int32Regs:$d, (intop))]>;

// TODO Add read vector-version of special registers

def INT_PTX_SREG_TID_X :
    PTX_READ_SREG_R32<"tid.x", int_nvvm_read_ptx_sreg_tid_x>;
def INT_PTX_SREG_TID_Y :
    PTX_READ_SREG_R32<"tid.y", int_nvvm_read_ptx_sreg_tid_y>;
def INT_PTX_SREG_TID_Z :
    PTX_READ_SREG_R32<"tid.z", int_nvvm_read_ptx_sreg_tid_z>;
def INT_PTX_SREG_TID_W :
    PTX_READ_SREG_R32<"tid.w", int_nvvm_read_ptx_sreg_tid_w>;

def INT_PTX_SREG_NTID_X :
    PTX_READ_SREG_R32<"ntid.x", int_nvvm_read_ptx_sreg_ntid_x>;
def INT_PTX_SREG_NTID_Y :
    PTX_READ_SREG_R32<"ntid.y", int_nvvm_read_ptx_sreg_ntid_y>;
def INT_PTX_SREG_NTID_Z :
    PTX_READ_SREG_R32<"ntid.z", int_nvvm_read_ptx_sreg_ntid_z>;
def INT_PTX_SREG_NTID_W :
    PTX_READ_SREG_R32<"ntid.w", int_nvvm_read_ptx_sreg_ntid_w>;

def INT_PTX_SREG_LANEID :
    PTX_READ_SREG_R32<"laneid", int_nvvm_read_ptx_sreg_laneid>;
def INT_PTX_SREG_WARPID :
    PTX_READ_SREG_R32<"warpid", int_nvvm_read_ptx_sreg_warpid>;
def INT_PTX_SREG_NWARPID :
    PTX_READ_SREG_R32<"nwarpid", int_nvvm_read_ptx_sreg_nwarpid>;

def INT_PTX_SREG_CTAID_X :
    PTX_READ_SREG_R32<"ctaid.x", int_nvvm_read_ptx_sreg_ctaid_x>;
def INT_PTX_SREG_CTAID_Y :
    PTX_READ_SREG_R32<"ctaid.y", int_nvvm_read_ptx_sreg_ctaid_y>;
def INT_PTX_SREG_CTAID_Z :
    PTX_READ_SREG_R32<"ctaid.z", int_nvvm_read_ptx_sreg_ctaid_z>;
def INT_PTX_SREG_CTAID_W :
    PTX_READ_SREG_R32<"ctaid.w", int_nvvm_read_ptx_sreg_ctaid_w>;

def INT_PTX_SREG_NCTAID_X :
    PTX_READ_SREG_R32<"nctaid.x", int_nvvm_read_ptx_sreg_nctaid_x>;
def INT_PTX_SREG_NCTAID_Y :
    PTX_READ_SREG_R32<"nctaid.y", int_nvvm_read_ptx_sreg_nctaid_y>;
def INT_PTX_SREG_NCTAID_Z :
    PTX_READ_SREG_R32<"nctaid.z", int_nvvm_read_ptx_sreg_nctaid_z>;
def INT_PTX_SREG_NCTAID_W :
    PTX_READ_SREG_R32<"nctaid.w", int_nvvm_read_ptx_sreg_nctaid_w>;

def INT_PTX_SREG_SMID :
    PTX_READ_SREG_R32<"smid", int_nvvm_read_ptx_sreg_smid>;
def INT_PTX_SREG_NSMID :
    PTX_READ_SREG_R32<"nsmid", int_nvvm_read_ptx_sreg_nsmid>;
def INT_PTX_SREG_GRIDID :
    PTX_READ_SREG_R32<"gridid", int_nvvm_read_ptx_sreg_gridid>;

def INT_PTX_SREG_LANEMASK_EQ :
    PTX_READ_SREG_R32<"lanemask_eq", int_nvvm_read_ptx_sreg_lanemask_eq>;
def INT_PTX_SREG_LANEMASK_LE :
    PTX_READ_SREG_R32<"lanemask_le", int_nvvm_read_ptx_sreg_lanemask_le>;
def INT_PTX_SREG_LANEMASK_LT :
    PTX_READ_SREG_R32<"lanemask_lt", int_nvvm_read_ptx_sreg_lanemask_lt>;
def INT_PTX_SREG_LANEMASK_GE :
    PTX_READ_SREG_R32<"lanemask_ge", int_nvvm_read_ptx_sreg_lanemask_ge>;
def INT_PTX_SREG_LANEMASK_GT :
    PTX_READ_SREG_R32<"lanemask_gt", int_nvvm_read_ptx_sreg_lanemask_gt>;

def INT_PTX_SREG_CLOCK :
    PTX_READ_SREG_R32<"clock", int_nvvm_read_ptx_sreg_clock>;
def INT_PTX_SREG_CLOCK64 :
    PTX_READ_SREG_R64<"clock64", int_nvvm_read_ptx_sreg_clock64>;

def INT_PTX_SREG_PM0 : PTX_READ_SREG_R32<"pm0", int_nvvm_read_ptx_sreg_pm0>;
def INT_PTX_SREG_PM1 : PTX_READ_SREG_R32<"pm1", int_nvvm_read_ptx_sreg_pm1>;
def INT_PTX_SREG_PM2 : PTX_READ_SREG_R32<"pm2", int_nvvm_read_ptx_sreg_pm2>;
def INT_PTX_SREG_PM3 : PTX_READ_SREG_R32<"pm3", int_nvvm_read_ptx_sreg_pm3>;

// TODO: It would be nice to use PTX_READ_SREG here, but it doesn't
// handle the constant.
def INT_PTX_SREG_WARPSIZE :
    NVPTXInst<(outs Int32Regs:$dst), (ins), "mov.u32 \t$dst, WARP_SZ;",
              [(set Int32Regs:$dst, (int_nvvm_read_ptx_sreg_warpsize))]>;

// Helper class that represents a 'fragment' of an NVPTX *MMA instruction.
// In addition to target-independent fields provided by WMMA_REGS, it adds
// the fields commonly used to implement specific PTX instruction -- register
// types and names, constraints, parts of assembly, etc.
class WMMA_REGINFO<WMMA_REGS r>
      : WMMA_REGS<r.geom, r.frag, r.ptx_elt_type> {
  // NVPTX register types used to carry fragment data.
  NVPTXRegClass regclass = !cond(
    !eq(ptx_elt_type, "f16") : Float16x2Regs,
    !eq(ptx_elt_type, "f32") : Float32Regs,
    !eq(ptx_elt_type, "s32") : Int32Regs,
    !eq(ptx_elt_type, "s8") : Int32Regs,
    !eq(ptx_elt_type, "u8") : Int32Regs,
    !eq(ptx_elt_type, "s4") : Int32Regs,
    !eq(ptx_elt_type, "u4") : Int32Regs,
    !eq(ptx_elt_type, "b1") : Int32Regs);

  // Instruction input/output arguments for the fragment.
  list<NVPTXRegClass> ptx_regs = !foreach(tmp, regs, regclass);

  // List of register names for the fragment -- ["ra0", "ra1",...]
  list<string> reg_names = RegSeq<!size(ptx_regs), "r"#frag>.ret;

  // Generates "{{$r0, $r1,.... $rN-1}}" for use in asm string construction.
  string regstring = "{{$" # !head(reg_names)
                           # !foldl("", !tail(reg_names), a, b,
                                    !strconcat(a, ", $", b))
                     # "}}";

  // Predicates for particular fragment variant. Technically those are
  // per-instruction predicates, but currently all fragments that can be used in
  // a given instruction are subject to the same constraints, so an instruction
  // can use predicates from any of its fragments. If/when this is no
  // longer the case, we can concat all per-fragment predicates to enforce that
  // all fragments of the instruction are viable.
  list<Predicate> Predicates = !cond(
    // fp16 -> fp16/fp32 @ m16n16k16
    !and(!eq(geom, "m16n16k16"),
         !or(!eq(ptx_elt_type, "f16"),
             !eq(ptx_elt_type, "f32"))) : [hasSM70, hasPTX60],

    // fp16 -> fp16/fp32 @ m8n32k16/m32n8k16
    !and(!or(!eq(geom, "m8n32k16"),
             !eq(geom, "m32n8k16")),
         !or(!eq(ptx_elt_type, "f16"),
             !eq(ptx_elt_type, "f32"))) : [hasSM70, hasPTX61],

    // u8/s8 -> s32 @ m16n16k16/m8n32k16/m32n8k16
    !and(!or(!eq(geom,"m16n16k16"),
             !eq(geom,"m8n32k16"),
             !eq(geom,"m32n8k16")),
         !or(!eq(ptx_elt_type, "u8"),
             !eq(ptx_elt_type, "s8"),
             !eq(ptx_elt_type, "s32"))) : [hasSM72, hasPTX63],

    // u4/s4/b1 -> s32 @ m8n8k32 (u4/s4), m8n8k128(b1)
    !or(!eq(geom,"m8n8k128"),
        !eq(geom,"m8n8k32")) : [hasSM75, hasPTX63]);

  // template DAGs for instruction inputs/output.
  dag Outs = !dag(outs, ptx_regs, reg_names);
  dag Ins = !dag(ins, ptx_regs, reg_names);
}

// Convert dag of arguments into a dag to match given intrinsic.
class BuildPatternI<Intrinsic Intr, dag Ins> {
  // Build a dag pattern that matches the intrinsic call.
  dag ret = !foreach(tmp, Ins,
                          !subst(imem, ADDRvar,
                          !subst(MEMri64, ADDRri64,
                          !subst(MEMri, ADDRri,
                          !subst(ins, Intr, tmp)))));
}

// Same as above, but uses PatFrag instead of an Intrinsic.
class BuildPatternPF<PatFrag Intr, dag Ins> {
  // Build a dag pattern that matches the intrinsic call.
  dag ret = !foreach(tmp, Ins,
                          !subst(imem, ADDRvar,
                          !subst(MEMri64, ADDRri64,
                          !subst(MEMri, ADDRri,
                          !subst(ins, Intr, tmp)))));
}

// Common WMMA-related fields used for building patterns for all MMA instructions.
class WMMA_INSTR<string _Intr, list<dag> _Args>
  : NVPTXInst<(outs), (ins), "?", []> {
  Intrinsic Intr = !cast<Intrinsic>(_Intr);
  // Concatenate all arguments into a single dag.
  dag Args = !foldl((ins), _Args, a, b, !con(a,b));
  // Pre-build the pattern to match (intrinsic arg0, arg1, ...).
  dag IntrinsicPattern = BuildPatternI<!cast<Intrinsic>(Intr), Args>.ret;
}

//
// wmma.load.[a|b|c].sync.[row|col].m16n16k16[|.global|.shared].[f16|f32]
//

class WMMA_LOAD<WMMA_REGINFO Frag, string Layout, string Space, bit WithStride,
                DAGOperand SrcOp>
  : WMMA_INSTR<WMMA_NAME_LDST<"load", Frag, Layout, WithStride>.record,
                              [!con((ins SrcOp:$src),
                                    !if(WithStride, (ins Int32Regs:$ldm), (ins)))]>,
    Requires<Frag.Predicates> {
  // Load/store intrinsics are overloaded on pointer's address space.
  // To match the right intrinsic, we need to build AS-constrained PatFrag.
  // Operands is a dag equivalent in shape to Args, but using (ops node:$name, .....).
  dag PFOperands = !if(WithStride, (ops node:$src, node:$ldm), (ops node:$src));
  // Build PatFrag that only matches particular address space.
  PatFrag IntrFrag = PatFrag<PFOperands,
                             !foreach(tmp, PFOperands, !subst(ops, Intr, tmp)),
                             !cond(!eq(Space, ".shared"): AS_match.shared,
                                   !eq(Space, ".global"): AS_match.global,
                                   1: AS_match.generic)>;
  // Build AS-constrained pattern.
  let IntrinsicPattern = BuildPatternPF<IntrFrag, Args>.ret;

  let OutOperandList = Frag.Outs;
  let InOperandList = !con(Args, (ins MmaCode:$ptx));
  let AsmString = "wmma.load."
                  # Frag.frag
                  # ".sync"
                  # "${ptx:aligned}"
                  # "." # Layout
                  # "." # Frag.geom
                  # Space
                  # "." # Frag.ptx_elt_type # " \t"
                  # Frag.regstring
                  # ", [$src]"
                  # !if(WithStride, ", $ldm", "")
                  # ";";
}

//
// wmma.store.d.sync.[row|col].m16n16k16[|.global|.shared].[f16|f32]
//
class WMMA_STORE_D<WMMA_REGINFO Frag, string Layout, string Space,
                   bit WithStride, DAGOperand DstOp>
  : WMMA_INSTR<WMMA_NAME_LDST<"store", Frag, Layout, WithStride>.record,
               [!con((ins DstOp:$dst),
                     Frag.Ins,
                     !if(WithStride, (ins Int32Regs:$ldm), (ins)))]>,
    Requires<Frag.Predicates> {

  // Load/store intrinsics are overloaded on pointer's address space.
  // To match the right intrinsic, we need to build AS-constrained PatFrag.
  // Operands is a dag equivalent in shape to Args, but using (ops node:$name, .....).
  dag PFOperands = !con((ops node:$dst),
                        !dag(ops, !foreach(tmp, Frag.regs, node), Frag.reg_names),
                        !if(WithStride, (ops node:$ldm), (ops)));
  // Build PatFrag that only matches particular address space.
  PatFrag IntrFrag = PatFrag<PFOperands,
                             !foreach(tmp, PFOperands, !subst(ops, Intr, tmp)),
                             !cond(!eq(Space, ".shared"): AS_match.shared,
                                   !eq(Space, ".global"): AS_match.global,
                                   1: AS_match.generic)>;
  // Build AS-constrained pattern.
  let IntrinsicPattern = BuildPatternPF<IntrFrag, Args>.ret;

  let InOperandList  = !con(Args, (ins MmaCode:$ptx));
  let OutOperandList = (outs);
  let AsmString = "wmma.store.d.sync"
                  # "${ptx:aligned}"
                  # "." # Layout
                  # "." # Frag.geom
                  # Space
                  # "." # Frag.ptx_elt_type
                  # " \t[$dst],"
                  # Frag.regstring
                  # !if(WithStride, ", $ldm", "")
                  # ";";
}

// Create all load/store variants
defset list<WMMA_INSTR> MMA_LDSTs  = {
  foreach layout = ["row", "col"] in {
    foreach stride = [0, 1] in {
      foreach space = [".global", ".shared", ""] in {
        foreach addr = [imem, Int32Regs, Int64Regs, MEMri, MEMri64] in {
          foreach frag = NVVM_MMA_OPS.all_ld_ops in
            foreach _ = NVVM_MMA_SUPPORTED<[frag], layout>.ret in
              def : WMMA_LOAD<WMMA_REGINFO<frag>, layout, space, stride, addr>;
          foreach frag = NVVM_MMA_OPS.all_st_ops in
            foreach _ = NVVM_MMA_SUPPORTED<[frag], layout>.ret in
              def : WMMA_STORE_D<WMMA_REGINFO<frag>, layout, space, stride, addr>;
        } // addr
      } // space
    } // stride
  } // layout
} // defset

// WMMA.MMA
class WMMA_MMA<WMMA_REGINFO FragA, WMMA_REGINFO FragB,
               WMMA_REGINFO FragC, WMMA_REGINFO FragD,
               string ALayout, string BLayout, int Satfinite>
  : WMMA_INSTR<WMMA_NAME_MMA<ALayout, BLayout, Satfinite, FragA, FragB, FragC, FragD>.record,
                             [FragA.Ins, FragB.Ins, FragC.Ins]>,
    // Requires does not seem to have effect on Instruction w/o Patterns.
    // We set it here anyways and propagate to the Pat<> we construct below.
    Requires<FragA.Predicates> {
  let OutOperandList = FragD.Outs;
  let InOperandList  = !con(Args, (ins MmaCode:$ptx));
  string TypeList = !cond(
    !eq(FragD.ptx_elt_type, "s32") : ".s32"
                                     # "." # FragA.ptx_elt_type
                                     # "." # FragB.ptx_elt_type
                                     # ".s32",
    1: "." # FragD.ptx_elt_type # "." # FragC.ptx_elt_type,
  );
  let AsmString = "wmma.mma"
                  # !if(!eq(FragA.ptx_elt_type, "b1"), ".xor.popc", "")
                  # ".sync"
                  # "${ptx:aligned}"
                  # "." # ALayout
                  # "." # BLayout
                  # "." # FragA.geom
                  # TypeList
                  # !if(Satfinite, ".satfinite", "") # "\n\t\t"
                  # FragD.regstring # ",\n\t\t"
                  # FragA.regstring # ",\n\t\t"
                  # FragB.regstring # ",\n\t\t"
                  # FragC.regstring # ";";
}

defset list<WMMA_INSTR> MMAs  = {
  foreach layout_a = ["row", "col"] in {
    foreach layout_b = ["row", "col"] in {
      foreach satf = [0, 1] in {
        foreach op = NVVM_MMA_OPS.all_mma_ops in {
          foreach _ = NVVM_MMA_SUPPORTED<op, layout_a, layout_b, satf>.ret in {
            def : WMMA_MMA<WMMA_REGINFO<op[0]>,
                           WMMA_REGINFO<op[1]>,
                           WMMA_REGINFO<op[2]>,
                           WMMA_REGINFO<op[3]>,
                           layout_a, layout_b, satf>;
          }
        } // op
      } // satf
    } // layout_b
  } // layout_a
} // defset


// Constructing non-flat DAGs is still a pain. I can't !subst a dag node with a
// dag, so the ptx.version must be appended *after* foreach replaces 'ins' with
// the instruction record.
class WMMA_PAT<WMMA_INSTR wi>
      : Pat<wi.IntrinsicPattern,
            !con(!foreach(tmp, wi.Args, !subst(ins, wi, tmp)),
                 (wi ptx.version))>,
        Requires<wi.Predicates>;

// Build intrinsic->instruction patterns for all MMA instructions.
foreach mma = !listconcat(MMAs, MMA_LDSTs) in
  def : WMMA_PAT<mma>;
