Changeset View
Changeset View
Standalone View
Standalone View
lib/Target/NVPTX/NVPTXInstrInfo.td
Show First 20 Lines • Show All 1,577 Lines • ▼ Show 20 Lines | def MOV_ADDR64 : NVPTXInst<(outs Int64Regs:$dst), (ins imem:$a), | ||||
[(set Int64Regs:$dst, (Wrapper tglobaladdr:$a))]>; | [(set Int64Regs:$dst, (Wrapper tglobaladdr:$a))]>; | ||||
// Get pointer to local stack. | // Get pointer to local stack. | ||||
let hasSideEffects = 0 in { | let hasSideEffects = 0 in { | ||||
def MOV_DEPOT_ADDR : NVPTXInst<(outs Int32Regs:$d), (ins i32imm:$num), | def MOV_DEPOT_ADDR : NVPTXInst<(outs Int32Regs:$d), (ins i32imm:$num), | ||||
"mov.u32 \t$d, __local_depot$num;", []>; | "mov.u32 \t$d, __local_depot$num;", []>; | ||||
def MOV_DEPOT_ADDR_64 : NVPTXInst<(outs Int64Regs:$d), (ins i32imm:$num), | def MOV_DEPOT_ADDR_64 : NVPTXInst<(outs Int64Regs:$d), (ins i32imm:$num), | ||||
"mov.u64 \t$d, __local_depot$num;", []>; | "mov.u64 \t$d, __local_depot$num;", []>; | ||||
def MOV_SHARED_DEPOT_ADDR : NVPTXInst<(outs Int32Regs:$d), (ins i32imm:$num), | |||||
"mov.u32 \t$d, __shared_depot$num;", []>; | |||||
def MOV_SHARED_DEPOT_ADDR_64 : NVPTXInst<(outs Int64Regs:$d), (ins i32imm:$num), | |||||
"mov.u64 \t$d, __shared_depot$num;", []>; | |||||
} | } | ||||
// copyPhysreg is hard-coded in NVPTXInstrInfo.cpp | // copyPhysreg is hard-coded in NVPTXInstrInfo.cpp | ||||
let IsSimpleMove=1, hasSideEffects=0 in { | let IsSimpleMove=1, hasSideEffects=0 in { | ||||
def IMOV1rr : NVPTXInst<(outs Int1Regs:$dst), (ins Int1Regs:$sss), | def IMOV1rr : NVPTXInst<(outs Int1Regs:$dst), (ins Int1Regs:$sss), | ||||
"mov.pred \t$dst, $sss;", []>; | "mov.pred \t$dst, $sss;", []>; | ||||
def IMOV16rr : NVPTXInst<(outs Int16Regs:$dst), (ins Int16Regs:$sss), | def IMOV16rr : NVPTXInst<(outs Int16Regs:$dst), (ins Int16Regs:$sss), | ||||
▲ Show 20 Lines • Show All 1,576 Lines • Show Last 20 Lines |