search for: addtru

Displaying 8 results from an estimated 8 matches for "addtru".

Did you mean: addtrue
2012 Aug 20
2
[LLVMdev] TableGen related question for the Hexagon backend
...xample. With one small change, I am able to represent more complex relations as well. In the Hexagon backend, a predicated instruction can translate into another form called 'predicate new'. So, in our example of 'ADD', we can have another transformation like this - ADD--- ---> ADDtrue -----> ADDtru_new (predicate new form of true) \-----> ADDfalse -----> ADDfalse_new (predicate new form of false) // Define Predicate New relation def getPredNewOpcode : InstrMapping { let FilterClass = "PredNewRel"; let RowFields = ["BaseOpcode"]; /...
2012 Aug 17
2
[LLVMdev] TableGen related question for the Hexagon backend
...coundn't understand it completely. Also, how do I get the table from the definition above? For the table, I need to know the name of the predicated-true and false instructions. > That should be enough to generate a table: > > // key , PredSense=true, PredSense=false > { ADD , ADDtrue, ADDfalse, // BaseOpcode="ADD" > { SUB , SUBtrue, SUBfalse, // BaseOpcode="SUB" > > > 5) We need some changes in the TGParser.cpp so that it can use the > > information specified through the RelationMap and populate relevant >...
2012 Aug 17
0
[LLVMdev] TableGen related question for the Hexagon backend
...h allows us to > relate instructions with each other? What do you mean by a proper query > language? Yes, in the very simple sense that you can relate instructions that have the same value in a field: def ADD { let BaseOpcode = "ADD"; let PredSense = "nopred"; } def ADDtrue { let BaseOpcode = "ADD"; let PredSense = "true"; } Inside a multiclass, the NAME variable is set to the base name of the defm. You can use that to relate your instructions. >> You don't want to be limited to a single 'IFormat' as a column >> ident...
2012 Aug 20
0
[LLVMdev] TableGen related question for the Hexagon backend
...Jyotsna Verma" <jverma at codeaurora.org> wrote: > In the Hexagon backend, a predicated instruction can translate into another > form called 'predicate new'. So, in our example of 'ADD', we can have > another transformation like this - > > ADD--- ---> ADDtrue -----> ADDtru_new (predicate new form of true) > \-----> ADDfalse -----> ADDfalse_new (predicate new form of false) > > // Define Predicate New relation > def getPredNewOpcode : InstrMapping { > let FilterClass = "PredNewRel"; > > let RowFields...
2012 Aug 17
0
[LLVMdev] TableGen related question for the Hexagon backend
...y column is the unpredicated instructions. let KeyCol = ["nopred"]; // Value columns are predicate=true and predicate=false let ValueCols = [["true"], ["false"]]; }; That should be enough to generate a table: // key , PredSense=true, PredSense=false { ADD , ADDtrue, ADDfalse, // BaseOpcode="ADD" { SUB , SUBtrue, SUBfalse, // BaseOpcode="SUB" … > 5) We need some changes in the TGParser.cpp so that it can use the > information specified > through the RelationMap and populate relevant fields in the RelH...
2012 Aug 20
2
[LLVMdev] TableGen related question for the Hexagon backend
...yotsna Verma" <jverma at codeaurora.org> wrote: > In the Hexagon backend, a predicated instruction can translate into > another form called 'predicate new'. So, in our example of 'ADD', we > can have another transformation like this - > > ADD--- ---> ADDtrue -----> ADDtru_new (predicate new form of true) > \-----> ADDfalse -----> ADDfalse_new (predicate new form of > false) > > // Define Predicate New relation > def getPredNewOpcode : InstrMapping { > let FilterClass = "PredNewRel"; > > let Row...
2012 Aug 16
2
[LLVMdev] TableGen related question for the Hexagon backend
Hi Everyone, After some more thoughts to the Jacob's suggestion of using multiclasses for Opcode mapping, this is what I have come up with. Please take a look at the design below and let me know if you have any suggestions/questions. I have tried to keep the design target independent so that other targets could benefit from it. 1) The idea is to add 3 new classes into
2012 Aug 21
0
[LLVMdev] TableGen related question for the Hexagon backend
...yotsna Verma" <jverma at codeaurora.org> wrote: > In the Hexagon backend, a predicated instruction can translate into > another form called 'predicate new'. So, in our example of 'ADD', we > can have another transformation like this - > > ADD--- ---> ADDtrue -----> ADDtru_new (predicate new form of true) > \-----> ADDfalse -----> ADDfalse_new (predicate new form of > false) > > // Define Predicate New relation > def getPredNewOpcode : InstrMapping { > let FilterClass = "PredNewRel"; > > let Row...