search for: gpr

Displaying 20 results from an estimated 418 matches for "gpr".

Did you mean: gpl
2020 Jun 24
2
FW: Restrict qualifier on class members
...i) { a[i] += b[i]; } } int main(int argc, char** argv) { __remote int* __restrict a = A; __remote int* __restrict b = B; #pragma unroll 4 for(int i=0; i<4; ++i) { a[i] += b[i]; } return 0; } vec_add give following schedule: *** Final schedule for %bb.8 *** SU(0): %33:gpr = LW %56:gpr, -8 :: (load 4 from %ir.scevgep8, !tbaa !14, !noalias !13, addrspace 1) SU(1): %34:gpr = LW %55:gpr, -8 :: (load 4 from %ir.scevgep14, !tbaa !14, !noalias !13, addrspace 1) SU(4): %36:gpr = LW %56:gpr, -4 :: (load 4 from %ir.scevgep10, !tbaa !14, !noalias !13, addrspace 1) SU(5):...
2004 Jun 08
1
[Q] raw -> gpr in aroma package
Hi. Is it possible to make gpr from raw? library(aroma) #read gpr file gpr <- GenePixData$read("gpr123.gpr", path=aroma$dataPath) # gpr -> raw raw <- as.RawData(gpr) # raw -> ma ma <- getSignal(raw, bgSubtract=FALSE) ma.norm <- clone(ma) #normalization normalizeWithinSlide(ma.norm, "s") #m...
2011 Dec 16
2
[LLVMdev] Typos in ARMInstrInfo.td ?
Hi, I think there are a set of typos in the ATOMIC_LOAD_UMIN_I* and ATOMIC_LOAD_UMAX_I* pseudo-instructions . Specifically, def ATOMIC_LOAD_MIN_I32 : PseudoInst< (outs GPR:$dst), (ins GPR:$ptr, GPR:$val), NoItinerary, [(set GPR:$dst, (atomic_load_min_32 GPR:$ptr, GPR:$val))]>; and def ATOMIC_LOAD_UMIN_I32 : PseudoInst< (outs GPR:$dst), (ins GPR:$ptr, GPR:$val), NoItinerary, [(set GPR:$dst, (atomic_load_min_32...
2018 Jun 15
2
Strange Machineinstr
...R0, [SP,#0x28+ts] > .text:0001C058 LDR R0, [R0,#4] > .text:0001C05C CMN R0, #0xC0000002 > .text:0001C060 BNE loc_1C088 > .text:0001C064 B loc_1C068 > > Below is the corresponding MachineInstr %1:gpr = COPY $r1 > > %0:gpr = COPY $r0 > > %3:gpr = COPY %1:gpr > > %2:gpr = COPY %0:gpr > > STRi12 %0:gpr, %stack.1.statbuf.addr, 0, 14, $noreg :: (store 4 into >> %ir.statbuf.addr) > > STRi12 %1:gpr, %stack.2.ts.addr, 0, 14, $noreg :: (store 4 into >> %ir.ts.ad...
2018 Jun 15
3
Strange Machineinstr
...r, I think the semantics should be similar. For example, the first instruction is a store-multiple instruction in ARM. I think the first four MIR I shown should have the similar semantics with the first three hardware instructions. I still cannot see the relationships between them. Also, what does gpr mean.. Do I lost some information? Thank you so much if you can explain it in a little bit detail. Regards Muhui 2018-06-15 12:33 GMT-04:00 Krzysztof Parzyszek via llvm-dev < llvm-dev at lists.llvm.org>: > That's a store-multiple that saves a few registers at the entry to the >...
2016 Jan 28
2
Specifying DAG patterns in the instruction
I'm confused about how to specify DAG patterns for a given instruction Here is an example for my target class ALU1_RR<bits<4> subOp, string asmstr, SDNode OpNode> : ALU_RR<subOp, asmstr, [(set GPR:$rD, (OpNode (i32 GPR:$rA), (i32 GPR:$rB)))]>; def ADD : ALU1_RR<0x0, "l.add", add>; The set operation simply creates a list. The add operation creates a union. So at the end [(set GPR:$rD, (OpNode (i32 GPR:$rA), (i32 GPR:$rB)))] becomes a just a regular set. How come this is...
2007 Jul 30
0
problems in limma
...the next step? Thanks! Dejian Zhao ++++++++++++++++++ Program Starts +++++++++++++++++++++ > library(limma) > library(statmod) #duplicateCorrelation requires this package. > targets<-readTargets() > targets Cy3 Cy5 FileName Date 1 PLAIN PLATEAU Locust 186.gpr 2006-5-31 2 PLAIN PLATEAU Locust 187.gpr 2006-5-31 3 PLAIN PLATEAU Locust 188.gpr 2006-5-31 4 PLAIN PLATEAU Locust 189.gpr 2006-5-31 5 PLAIN PLATEAU Locust 190.gpr 2006-5-31 6 PLAIN PLATEAU Locust 191.gpr 2006-5-31 7 plain PLAIN Locust 192.gpr 2006-6-6 8 plain PLAIN Locust...
2011 Dec 21
0
[LLVMdev] Typos in ARMInstrInfo.td ?
...Evan On Dec 16, 2011, at 1:50 AM, George Russell wrote: > Hi, > > I think there are a set of typos in the ATOMIC_LOAD_UMIN_I* and > ATOMIC_LOAD_UMAX_I* > pseudo-instructions . > > Specifically, > > def ATOMIC_LOAD_MIN_I32 : PseudoInst< > (outs GPR:$dst), (ins GPR:$ptr, GPR:$val), NoItinerary, > [(set GPR:$dst, (atomic_load_min_32 GPR:$ptr, GPR:$val))]>; > > and > > def ATOMIC_LOAD_UMIN_I32 : PseudoInst< > (outs GPR:$dst), (ins GPR:$ptr, GPR:$val), NoItinerary, > [(s...
2011 Dec 21
1
[LLVMdev] Typos in ARMInstrInfo.td ?
...e Russell wrote: > >> Hi, >> >> I think there are a set of typos in the ATOMIC_LOAD_UMIN_I* and >> ATOMIC_LOAD_UMAX_I* >> pseudo-instructions . >> >> Specifically, >> >> def ATOMIC_LOAD_MIN_I32 : PseudoInst< >> (outs GPR:$dst), (ins GPR:$ptr, GPR:$val), NoItinerary, >> [(set GPR:$dst, (atomic_load_min_32 GPR:$ptr, GPR:$val))]>; >> >> and >> >> def ATOMIC_LOAD_UMIN_I32 : PseudoInst< >> (outs GPR:$dst), (ins GPR:$ptr, GPR:$val), NoItinerary,...
2020 Jun 22
2
Restrict qualifier on class members
Hi Jeroen, That's great! I was trying to use the patch, what's the latest version of the project we could apply it on? Hi Neil, That seems like what I can do as well! Do you happen to have some examples lying around? Maybe a pointer to the planned presentation, if that's okay? Thank you, Bandhav On Mon, Jun 22, 2020 at 1:55 AM Neil Henning <neil.henning at unity3d.com>
2016 Jan 29
2
Specifying DAG patterns in the instruction
On Thu, Jan 28, 2016 at 8:34 PM, Dylan McKay <dylanmckay34 at gmail.com> wrote: > Try visualising the DAG like this. > > ``` > ---- GPR:$rA > / > set GPR:$rd ---- add > \ > ---- GPR:$rB > ``` > > Each instruction forms a DAG with its operands being subnodes. > > The core instruction selection logic just looks for the pattern `(set > GP...
2016 Jan 29
0
Specifying DAG patterns in the instruction
...ri, Jan 29, 2016 at 11:39 AM, Rail Shafigulin <rail at esenciatech.com> wrote: > > > On Thu, Jan 28, 2016 at 8:34 PM, Dylan McKay <dylanmckay34 at gmail.com> > wrote: > >> Try visualising the DAG like this. >> >> ``` >> ---- GPR:$rA >> / >> set GPR:$rd ---- add >> \ >> ---- GPR:$rB >> ``` >> >> Each instruction forms a DAG with its operands being subnodes. >> >> The core instruction selection logic just...
2019 Dec 18
2
Spilling to register for a given register class
...or > a related conversation. > > What this conservation boils down to is that you can achieve that by > providing a larger register class that contains the union of the registers > that are used with where they can be spilled. > > For instance, let say you have a register class GPR that can be spilled > into SPR. > You would create three register classes: GPR, SPR and GPR_union_SPR. > GPR_union_SPR is never explicitly used in any real instruction (i.e., it > does not appear in any MC description), but will give a way to regalloc to > relax the constraints on av...
2019 Dec 17
2
Spilling to register for a given register class
Hello, for an architecture that doesn't have a good way to load/store a given register class to memory, is it instead easy to spill/fill from another register class instead? e.g. - storeRegToStack/loadRegFromStack use a pseudo instruction and add virtual register operand is not supported (spill optimization doesn't seem to like this). - AMDGPU backend seems to do sth. similar? The only
2016 Jan 31
2
Specifying DAG patterns in the instruction
TableGen, as a DSL language, is made up of records. Every def corresponds to a record. For example, TableGen has a class Register, and your backend will define records by def GPR8 : Register<...>. You are correct in saying that the record definition is one of the SDNode values. These correspond 1:1 to llvm::ISD::NodeType <http://llvm.org/docs/doxygen/html/namespacellvm_1_1ISD.html#a22ea9cec080dd5f4f47ba234c2f59110> . (DEF a, b) corresponds to --------- a...
2008 Sep 23
2
[LLVMdev] Store patterns accepting i32 only?
...epts both i32 and f32, however, when tablegen generates the code, it only generates the code for i32 only. def ADDR : ComplexPattern<i32, 2, "SelectADDR", [], []>; def MEM : Operand<i32> { let PrintMethod = "printMemOperand"; let MIOperandInfo = (ops GPR, GPR); } def global_st : SDNode<"AMDILISD::GLOBAL_STORE", SDTStore, [SDNPHasChain, SDNPMayLoad, SDNPMemOperand]>; def global_store : PatFrag<(ops node:$val, node:$ptr), (st node:$val, node:$ptr), [{ return isGlobalStore(dyn_cast<StoreSDNode>(N));...
2012 Feb 24
3
[LLVMdev] CodeGen instructions and patterns
Is there a generic function that gives the machine instructions and their patterns given in the .td files of a backend specification ? or a subset which match a certain opcode ? otherwise how are the machine instructions being accessed/matched for instruction selection ? -Omer -------------- next part -------------- An HTML attachment was scrubbed... URL:
2007 Apr 03
3
[LLVMdev] Implementing a complicated VAARG
...largely more complicated than the Macho ABI or x86 because it manipulates a struct instead of a direct pointer in the stack. You can find the layout of the va_list struct at the end of this mail. A VAARG call requires a lot of computation. Typically the C code for va_arg(ap, int) is: int va_arg_gpr(ap_list ap) { int idx = ap->gpr; if (idx < 8) { ap->gpr = idx + 1; return ap->reg_save_area[idx]; } else { int res = ap->overflow_arg_area[0]; ap->gpr = idx + 1; ap->overflow_arg_area += 4; return res; } } Actually, a...
2016 Mar 30
3
infer correct types from the pattern
i'm getting a Could not infer all types in pattern! error in my backend. it is happening on the following instruction: VGETITEM: (set GPR:{i32:f32}:$rD, (extractelt:{i32:f32} VR:{v4i32:v4f32}:$rA, GPR:i32:$rB)). how do i make it use appropriate types? in other words if it is f32 then use v4v32 and if it is i32 then use v4f32. i'm not sure even where to start? any help is appreciated. -- Rail Shafigulin Software Engineer Esenc...
2018 Dec 14
2
Dealing with information loss for widened integer operations at ISel time
...t;efriedma at codeaurora.org> wrote: > > On 12/13/2018 6:25 AM, Alex Bradbury wrote: > > There's also likely to be cases where you want to calculate the demanded bits > > in order to determine if e.g. a W-suffixed instruction can be selected for > > `(somoeop (zexti32 GPR:$rs1), (zexti32 GPR:$rs2))`. This is easy to match if > > the SelectionDAG contains an explicit `sext_inreg` of the result. But if not, > > you'd need to check whether the upper 32 bits are actually demanded or not. > > Could you describe more specifically where this matters?...