search for: isdot

Displaying 20 results from an estimated 22 matches for "isdot".

2013 Apr 12
2
[LLVMdev] TableGen list merging
Hi, In the PPC backend, there is a "helper" class used to define instructions that implicitly define a condition register: class isDOT { list<Register> Defs = [CR0]; bit RC = 1; } and this gets used on instructions such as: def ADDICo : DForm_2<13, (outs GPRC:$rD), (ins GPRC:$rA, s16imm:$imm), "addic. $rD, $rA, $imm", IntGeneral, []>, isDOT; but there is a s...
2013 Apr 12
0
[LLVMdev] TableGen list merging
On Apr 12, 2013, at 2:06 AM, Hal Finkel <hfinkel at anl.gov> wrote: > In the PPC backend, there is a "helper" class used to define instructions that implicitly define a condition register: > > class isDOT { > list<Register> Defs = [CR0]; > bit RC = 1; > } > > and this gets used on instructions such as: > > def ADDICo : DForm_2<13, (outs GPRC:$rD), (ins GPRC:$rA, s16imm:$imm), > "addic. $rD, $rA, $imm", IntGeneral, >...
2013 Apr 12
1
[LLVMdev] TableGen list merging
...dev] TableGen list merging > > > On Apr 12, 2013, at 2:06 AM, Hal Finkel <hfinkel at anl.gov> wrote: > > > In the PPC backend, there is a "helper" class used to define > > instructions that implicitly define a condition register: > > > > class isDOT { > > list<Register> Defs = [CR0]; > > bit RC = 1; > > } > > > > and this gets used on instructions such as: > > > > def ADDICo : DForm_2<13, (outs GPRC:$rD), (ins GPRC:$rA, > > s16imm:$imm), > > "addic....
2012 Jul 24
2
[LLVMdev] Instruction Encodings in TableGen
...base_r3xo_swapped 316 <bits<6> opcode, bits<10> xo, dag OOL, dag IOL, string asmstr, 317 InstrItinClass itin> 318 : I<opcode, OOL, IOL, asmstr, itin> { 319 bits<5> A; 320 bits<5> RST; 321 bits<5> B; 322 323 bit RC = 0; // set by isDOT 324 325 let Inst{6-10} = RST; 326 let Inst{11-15} = A; 327 let Inst{16-20} = B; 328 let Inst{21-30} = xo; 329 let Inst{31} = RC; 330 } 337 class XForm_6<bits<6> opcode, bits<10> xo, dag OOL, dag IOL, string asmstr, 338 InstrItinClass itin, list<dag&gt...
2000 Apr 03
1
2.0.7pre3: smbclient issues
My systems: rh61, 2.2.14 + smbfs-nls.patch. I refer to 2.0.7pre3 as 2.0.7 === 1) "ls" of an empty dir 1a) 1.9.18 doing "ls" to an empty samba dir: smb: \> ls 49550 blocks of size 16384. 33754 blocks available 1b) 2.0.7 doing "ls" to an empty samba dir: smb: \> ls ERRDOS - ERRbadfile (File not found.) listing \* <=======
2012 Jul 24
2
[LLVMdev] Instruction Encodings in TableGen
...dag OOL, dag IOL, string > asmstr, > > 317 InstrItinClass itin> > > 318 : I<opcode, OOL, IOL, asmstr, itin> { > > 319 bits<5> A; > > 320 bits<5> RST; > > 321 bits<5> B; > > 322 > > 323 bit RC = 0; // set by isDOT > > > > 324 > > 325 let Inst{6-10} = RST; > > 326 let Inst{11-15} = A; > > 327 let Inst{16-20} = B; > > 328 let Inst{21-30} = xo; > > 329 let Inst{31} = RC; > > 330 } > > > > 337 class XForm_6<bits<6> opcode, bits&lt...
2012 Jul 24
0
[LLVMdev] Instruction Encodings in TableGen
...its<6> opcode, bits<10> xo, dag OOL, dag IOL, string asmstr, > 317 InstrItinClass itin> > 318 : I<opcode, OOL, IOL, asmstr, itin> { > 319 bits<5> A; > 320 bits<5> RST; > 321 bits<5> B; > 322 > 323 bit RC = 0; // set by isDOT > > 324 > 325 let Inst{6-10} = RST; > 326 let Inst{11-15} = A; > 327 let Inst{16-20} = B; > 328 let Inst{21-30} = xo; > 329 let Inst{31} = RC; > 330 } > > 337 class XForm_6<bits<6> opcode, bits<10> xo, dag OOL, dag IOL, string > asmstr...
2012 Jul 25
2
[LLVMdev] Instruction Encodings in TableGen
...; asmstr, >> > 317 InstrItinClass itin> >> > 318 : I<opcode, OOL, IOL, asmstr, itin> { >> > 319 bits<5> A; >> > 320 bits<5> RST; >> > 321 bits<5> B; >> > 322 >> > 323 bit RC = 0; // set by isDOT >> > >> > 324 >> > 325 let Inst{6-10} = RST; >> > 326 let Inst{11-15} = A; >> > 327 let Inst{16-20} = B; >> > 328 let Inst{21-30} = xo; >> > 329 let Inst{31} = RC; >> > 330 } >> > >> > 337 class...
2012 Jul 25
0
[LLVMdev] Instruction Encodings in TableGen
...xo, dag OOL, dag IOL, string asmstr, > > 317 InstrItinClass itin> > > 318 : I<opcode, OOL, IOL, asmstr, itin> { > > 319 bits<5> A; > > 320 bits<5> RST; > > 321 bits<5> B; > > 322 > > 323 bit RC = 0; // set by isDOT > > > > 324 > > 325 let Inst{6-10} = RST; > > 326 let Inst{11-15} = A; > > 327 let Inst{16-20} = B; > > 328 let Inst{21-30} = xo; > > 329 let Inst{31} = RC; > > 330 } > > > > 337 class XForm_6<bits<6> opcode, bits&lt...
2012 Jul 27
0
[LLVMdev] Instruction Encodings in TableGen
...InstrItinClass itin> > >> > 318 : I<opcode, OOL, IOL, asmstr, itin> { > >> > 319 bits<5> A; > >> > 320 bits<5> RST; > >> > 321 bits<5> B; > >> > 322 > >> > 323 bit RC = 0; // set by isDOT > >> > > >> > 324 > >> > 325 let Inst{6-10} = RST; > >> > 326 let Inst{11-15} = A; > >> > 327 let Inst{16-20} = B; > >> > 328 let Inst{21-30} = xo; > >> > 329 let Inst{31} = RC; > >> > 330...
2020 May 14
0
open 2nd pdf on dfs share with Acrobat Reader not possible
...n NT_STATUS_INVALID_LEVEL; + } + + nfname = talloc_strdup(mem_ctx, smb_fname->base_name); + if (nfname == NULL) { + return NT_STATUS_NO_MEMORY; + } + + if (ISDOT(nfname)) { + nfname[0] = '\0'; + } + string_replace(nfname, '/', '\\'); + + if (smb_fname->stream_name != NULL) { + const char *s = smb_fname->...
2008 Jul 10
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...[(PPCcmp_unres G8RC:$rA, immSExt16:$imm, imm:$label)]>; -} +let Defs = [CR0] in +def STDCX : XForm_1<31, 214, (outs), (ins G8RC:$rS, memrr:$dst), + "stdcx. $rS, $dst", LdStSTDCX, + [(PPCstcx G8RC:$rS, xoaddr:$dst)]>, + isDOT; let isCall = 1, isTerminator = 1, isReturn = 1, isBarrier = 1 in def TCRETURNdi8 :Pseudo< (outs), Index: lib/Target/PowerPC/PPCInstrInfo.td =================================================================== --- lib/Target/PowerPC/PPCInstrInfo.td (revision 52957) +++ lib/Target/PowerPC/PPCI...
2008 Jul 08
0
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
PPCTargetLowering::EmitInstrWithCustomInserter has a reference to the current MachineFunction for other purposes. Can you use MachineFunction::getRegInfo instead? Dan On Jul 8, 2008, at 1:56 PM, Gary Benson wrote: > Would it be acceptable to change MachineInstr::getRegInfo from private > to public so I can use it from > PPCTargetLowering::EmitInstrWithCustomInserter? > >
2008 Jul 11
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...[(PPCcmp_unres G8RC:$rA, immSExt16:$imm, imm:$label)]>; -} +let Defs = [CR0] in +def STDCX : XForm_1<31, 214, (outs), (ins G8RC:$rS, memrr:$dst), + "stdcx. $rS, $dst", LdStSTDCX, + [(PPCstcx G8RC:$rS, xoaddr:$dst)]>, + isDOT; let isCall = 1, isTerminator = 1, isReturn = 1, isBarrier = 1 in def TCRETURNdi8 :Pseudo< (outs), Index: lib/Target/PowerPC/PPCInstrInfo.td =================================================================== --- lib/Target/PowerPC/PPCInstrInfo.td (revision 53464) +++ lib/Target/PowerPC/PPCI...
2008 Jul 11
0
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
Hi Gary, This does not patch cleanly for me (PPCISelLowering.cpp). Can you prepare a updated patch? Thanks, Evan On Jul 10, 2008, at 11:45 AM, Gary Benson wrote: > Cool, that worked. New patch attached... > > Cheers, > Gary > > Evan Cheng wrote: >> Just cast both values to const TargetRegisterClass*. >> >> Evan >> >> On Jul 10, 2008, at 7:36
2008 Jul 10
0
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
Just cast both values to const TargetRegisterClass*. Evan On Jul 10, 2008, at 7:36 AM, Gary Benson wrote: > Evan Cheng wrote: >> How about? >> >> const TargetRegisterClass *RC = is64Bit ? &PPC:GPRCRegClass : >> &PPC:G8RCRegClass; >> unsigned TmpReg = RegInfo.createVirtualRegister(RC); > > I tried something like that yesterday: > > const
2008 Jul 10
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
Evan Cheng wrote: > How about? > > const TargetRegisterClass *RC = is64Bit ? &PPC:GPRCRegClass : > &PPC:G8RCRegClass; > unsigned TmpReg = RegInfo.createVirtualRegister(RC); I tried something like that yesterday: const TargetRegisterClass *RC = is64bit ? &PPC::GPRCRegClass : &PPC::G8RCRegClass; but I kept getting this error no matter how I arranged it:
2008 Jun 30
0
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
You need to insert new basic blocks and update CFG to accomplish this. There is a hackish way to do this right now. Add a pseudo instruction to represent this operation and mark it usesCustomDAGSchedInserter. This means the intrinsic is mapped to a single (pseudo) node. But it is then expanded into instructions that can span multiple basic blocks. See
2008 Jul 09
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...[(PPCcmp_unres G8RC:$rA, immSExt16:$imm, imm:$label)]>; -} +let Defs = [CR0] in +def STDCX : XForm_1<31, 214, (outs), (ins G8RC:$rS, memrr:$dst), + "stdcx. $rS, $dst", LdStSTDCX, + [(PPCstcx G8RC:$rS, xoaddr:$dst)]>, + isDOT; let isCall = 1, isTerminator = 1, isReturn = 1, isBarrier = 1 in def TCRETURNdi8 :Pseudo< (outs), Index: lib/Target/PowerPC/PPCInstrInfo.td =================================================================== --- lib/Target/PowerPC/PPCInstrInfo.td (revision 52957) +++ lib/Target/PowerPC/PPCI...
2008 Jul 08
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
Would it be acceptable to change MachineInstr::getRegInfo from private to public so I can use it from PPCTargetLowering::EmitInstrWithCustomInserter? Cheers, Gary Evan Cheng wrote: > Look for createVirtualRegister. These are examples in > PPCISelLowering.cpp. > > Evan > On Jul 8, 2008, at 8:24 AM, Gary Benson wrote: > > > Hi Evan, > > > > Evan Cheng wrote: