[llvm-commits] PATCH: Tablegen - Add OperandWithDefaultOps for encoding target flags as immediates
Tom Stellard
tom at stellard.net
Tue Sep 4 11:59:21 PDT 2012
On Tue, Sep 04, 2012 at 10:37:19AM -0700, Jakob Stoklund Olesen wrote:
>
> On Aug 31, 2012, at 9:45 AM, Tom Stellard <tom at stellard.net> wrote:
>
> > Hi,
> >
> > This patch adds the OperandWithDefaultOps operand type to tablegen.
> > This new class serves as a base class for PredicateOperand and
> > OptionalDefOperand, but it could also be used for encoding target flags
> > as immediate operands, which is necessary now the MachineOperand flags
> > are gone.
>
> Hi Tom,
>
> This is a nice generalization, thanks for working on it.
>
> Please verify that the generated ARMGen*.inc files are not changed by this patch.
>
Hi Jakob,
The only change is that the OperandMatchTable in ARMGenAsmMatcher.inc
has been reordered (see attached diff). I sorted the OperandMatchTable for both
the old and the new files to verify all the data was the same, so the
only difference is the order of the entries.
-Tom
-------------- next part --------------
diff ARMGenOld/ARMGenAsmMatcher.inc ARMGenNew/ARMGenAsmMatcher.inc
9278d9277
< { 28 /* 2, 3, 4 */, 8 /* cdp */, Feature_IsThumb2, MCK_CoprocReg },
9280c9279
< { 56 /* 3, 4, 5 */, 8 /* cdp */, Feature_IsARM, MCK_CoprocReg },
---
> { 28 /* 2, 3, 4 */, 8 /* cdp */, Feature_IsThumb2, MCK_CoprocReg },
9282c9281
< { 28 /* 2, 3, 4 */, 12 /* cdp2 */, Feature_IsARM, MCK_CoprocReg },
---
> { 56 /* 3, 4, 5 */, 8 /* cdp */, Feature_IsARM, MCK_CoprocReg },
9284c9283
< { 28 /* 2, 3, 4 */, 12 /* cdp2 */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 28 /* 2, 3, 4 */, 12 /* cdp2 */, Feature_IsARM, MCK_CoprocReg },
9285a9285
> { 28 /* 2, 3, 4 */, 12 /* cdp2 */, Feature_IsThumb2, MCK_CoprocReg },
9299d9298
< { 4 /* 2 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocReg },
9301,9302d9299
< { 4 /* 2 */, 36 /* ldc */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 36 /* ldc */, Feature_IsThumb2, MCK_CoprocNum },
9304c9301
< { 2 /* 1 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocNum },
---
> { 2 /* 1 */, 36 /* ldc */, Feature_IsThumb2, MCK_CoprocNum },
9305a9303,9304
> { 2 /* 1 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocReg },
9306a9306
> { 4 /* 2 */, 36 /* ldc */, Feature_IsThumb2, MCK_CoprocReg },
9308d9307
< { 4 /* 2 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocReg },
9309a9309
> { 4 /* 2 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocReg },
9311d9310
< { 4 /* 2 */, 36 /* ldc */, Feature_IsThumb2, MCK_CoprocReg },
9313,9314d9311
< { 4 /* 2 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocReg },
< { 2 /* 1 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocNum },
9315a9313,9314
> { 2 /* 1 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocReg },
9317c9316
< { 2 /* 1 */, 40 /* ldc2 */, Feature_IsARM, MCK_CoprocReg },
---
> { 4 /* 2 */, 36 /* ldc */, Feature_IsThumb2, MCK_CoprocReg },
9319,9320d9317
< { 4 /* 2 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocNum },
9321a9319,9320
> { 2 /* 1 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocNum },
> { 4 /* 2 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocReg },
9323d9321
< { 8 /* 3 */, 40 /* ldc2 */, Feature_IsARM, MCK_CoprocOption },
9324a9323
> { 8 /* 3 */, 40 /* ldc2 */, Feature_IsARM, MCK_CoprocOption },
9328c9327
< { 4 /* 2 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 2 /* 1 */, 40 /* ldc2 */, Feature_IsARM, MCK_CoprocReg },
9330d9328
< { 16 /* 4 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocOption },
9331a9330
> { 16 /* 4 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocOption },
9335c9334
< { 2 /* 1 */, 45 /* ldc2l */, Feature_IsARM, MCK_CoprocReg },
---
> { 4 /* 2 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocReg },
9337,9338d9335
< { 4 /* 2 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocNum },
9339a9337,9338
> { 2 /* 1 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocNum },
> { 4 /* 2 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocReg },
9341d9339
< { 8 /* 3 */, 45 /* ldc2l */, Feature_IsARM, MCK_CoprocOption },
9342a9341
> { 8 /* 3 */, 45 /* ldc2l */, Feature_IsARM, MCK_CoprocOption },
9346c9345
< { 4 /* 2 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 2 /* 1 */, 45 /* ldc2l */, Feature_IsARM, MCK_CoprocReg },
9348d9346
< { 16 /* 4 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocOption },
9349a9348
> { 16 /* 4 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocOption },
9353c9352
< { 4 /* 2 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocReg },
---
> { 4 /* 2 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocReg },
9355,9356d9353
< { 4 /* 2 */, 51 /* ldcl */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 51 /* ldcl */, Feature_IsThumb2, MCK_CoprocNum },
9358c9355
< { 2 /* 1 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocNum },
---
> { 2 /* 1 */, 51 /* ldcl */, Feature_IsThumb2, MCK_CoprocNum },
9359a9357,9358
> { 2 /* 1 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocReg },
9360a9360
> { 4 /* 2 */, 51 /* ldcl */, Feature_IsThumb2, MCK_CoprocReg },
9362d9361
< { 4 /* 2 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocReg },
9363a9363
> { 4 /* 2 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocReg },
9365d9364
< { 4 /* 2 */, 51 /* ldcl */, Feature_IsThumb2, MCK_CoprocReg },
9367,9368d9365
< { 4 /* 2 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocReg },
< { 2 /* 1 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocNum },
9369a9367,9368
> { 2 /* 1 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocReg },
9370a9370
> { 4 /* 2 */, 51 /* ldcl */, Feature_IsThumb2, MCK_CoprocReg },
9382d9381
< { 24 /* 3, 4 */, 118 /* mcr */, Feature_IsThumb2, MCK_CoprocReg },
9384,9385d9382
< { 48 /* 4, 5 */, 118 /* mcr */, Feature_IsARM, MCK_CoprocReg },
< { 2 /* 1 */, 118 /* mcr */, Feature_IsARM, MCK_CoprocNum },
9387c9384
< { 1 /* 0 */, 118 /* mcr */, Feature_IsThumb2, MCK_CoprocNum },
---
> { 2 /* 1 */, 118 /* mcr */, Feature_IsARM, MCK_CoprocNum },
9388a9386,9387
> { 1 /* 0 */, 118 /* mcr */, Feature_IsThumb2, MCK_CoprocNum },
> { 24 /* 3, 4 */, 118 /* mcr */, Feature_IsThumb2, MCK_CoprocReg },
9390c9389
< { 24 /* 3, 4 */, 122 /* mcr2 */, Feature_IsARM, MCK_CoprocReg },
---
> { 48 /* 4, 5 */, 118 /* mcr */, Feature_IsARM, MCK_CoprocReg },
9392,9393d9390
< { 24 /* 3, 4 */, 122 /* mcr2 */, Feature_IsThumb2, MCK_CoprocReg },
< { 1 /* 0 */, 122 /* mcr2 */, Feature_IsThumb2, MCK_CoprocNum },
9395c9392
< { 1 /* 0 */, 122 /* mcr2 */, Feature_IsARM, MCK_CoprocNum },
---
> { 1 /* 0 */, 122 /* mcr2 */, Feature_IsThumb2, MCK_CoprocNum },
9396a9394,9395
> { 1 /* 0 */, 122 /* mcr2 */, Feature_IsARM, MCK_CoprocNum },
> { 24 /* 3, 4 */, 122 /* mcr2 */, Feature_IsARM, MCK_CoprocReg },
9398c9397
< { 16 /* 4 */, 127 /* mcrr */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 24 /* 3, 4 */, 122 /* mcr2 */, Feature_IsThumb2, MCK_CoprocReg },
9400c9399
< { 32 /* 5 */, 127 /* mcrr */, Feature_IsARM, MCK_CoprocReg },
---
> { 16 /* 4 */, 127 /* mcrr */, Feature_IsThumb2, MCK_CoprocReg },
9402c9401
< { 16 /* 4 */, 132 /* mcrr2 */, Feature_IsARM, MCK_CoprocReg },
---
> { 32 /* 5 */, 127 /* mcrr */, Feature_IsARM, MCK_CoprocReg },
9404c9403
< { 16 /* 4 */, 132 /* mcrr2 */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 16 /* 4 */, 132 /* mcrr2 */, Feature_IsARM, MCK_CoprocReg },
9406c9405
< { 24 /* 3, 4 */, 138 /* mrc */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 16 /* 4 */, 132 /* mcrr2 */, Feature_IsThumb2, MCK_CoprocReg },
9408,9409d9406
< { 48 /* 4, 5 */, 138 /* mrc */, Feature_IsARM, MCK_CoprocReg },
< { 2 /* 1 */, 138 /* mrc */, Feature_IsARM, MCK_CoprocNum },
9411c9408
< { 1 /* 0 */, 138 /* mrc */, Feature_IsThumb2, MCK_CoprocNum },
---
> { 2 /* 1 */, 138 /* mrc */, Feature_IsARM, MCK_CoprocNum },
9412a9410,9411
> { 1 /* 0 */, 138 /* mrc */, Feature_IsThumb2, MCK_CoprocNum },
> { 24 /* 3, 4 */, 138 /* mrc */, Feature_IsThumb2, MCK_CoprocReg },
9414c9413
< { 24 /* 3, 4 */, 142 /* mrc2 */, Feature_IsARM, MCK_CoprocReg },
---
> { 48 /* 4, 5 */, 138 /* mrc */, Feature_IsARM, MCK_CoprocReg },
9416,9417d9414
< { 24 /* 3, 4 */, 142 /* mrc2 */, Feature_IsThumb2, MCK_CoprocReg },
< { 1 /* 0 */, 142 /* mrc2 */, Feature_IsThumb2, MCK_CoprocNum },
9419c9416
< { 1 /* 0 */, 142 /* mrc2 */, Feature_IsARM, MCK_CoprocNum },
---
> { 1 /* 0 */, 142 /* mrc2 */, Feature_IsThumb2, MCK_CoprocNum },
9420a9418,9419
> { 1 /* 0 */, 142 /* mrc2 */, Feature_IsARM, MCK_CoprocNum },
> { 24 /* 3, 4 */, 142 /* mrc2 */, Feature_IsARM, MCK_CoprocReg },
9422c9421
< { 16 /* 4 */, 147 /* mrrc */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 24 /* 3, 4 */, 142 /* mrc2 */, Feature_IsThumb2, MCK_CoprocReg },
9424c9423
< { 32 /* 5 */, 147 /* mrrc */, Feature_IsARM, MCK_CoprocReg },
---
> { 16 /* 4 */, 147 /* mrrc */, Feature_IsThumb2, MCK_CoprocReg },
9426c9425
< { 16 /* 4 */, 152 /* mrrc2 */, Feature_IsARM, MCK_CoprocReg },
---
> { 32 /* 5 */, 147 /* mrrc */, Feature_IsARM, MCK_CoprocReg },
9428c9427
< { 16 /* 4 */, 152 /* mrrc2 */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 16 /* 4 */, 152 /* mrrc2 */, Feature_IsARM, MCK_CoprocReg },
9429a9429
> { 16 /* 4 */, 152 /* mrrc2 */, Feature_IsThumb2, MCK_CoprocReg },
9443d9442
< { 4 /* 2 */, 190 /* stc */, Feature_IsARM, MCK_CoprocReg },
9445,9446d9443
< { 4 /* 2 */, 190 /* stc */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 190 /* stc */, Feature_IsThumb2, MCK_CoprocNum },
9448c9445
< { 2 /* 1 */, 190 /* stc */, Feature_IsARM, MCK_CoprocNum },
---
> { 2 /* 1 */, 190 /* stc */, Feature_IsThumb2, MCK_CoprocNum },
9449a9447,9448
> { 2 /* 1 */, 190 /* stc */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 190 /* stc */, Feature_IsARM, MCK_CoprocReg },
9450a9450
> { 4 /* 2 */, 190 /* stc */, Feature_IsThumb2, MCK_CoprocReg },
9452d9451
< { 4 /* 2 */, 190 /* stc */, Feature_IsARM, MCK_CoprocReg },
9453a9453
> { 4 /* 2 */, 190 /* stc */, Feature_IsARM, MCK_CoprocReg },
9455d9454
< { 4 /* 2 */, 190 /* stc */, Feature_IsThumb2, MCK_CoprocReg },
9457,9458d9455
< { 4 /* 2 */, 190 /* stc */, Feature_IsARM, MCK_CoprocReg },
< { 2 /* 1 */, 190 /* stc */, Feature_IsARM, MCK_CoprocNum },
9459a9457,9458
> { 2 /* 1 */, 190 /* stc */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 190 /* stc */, Feature_IsARM, MCK_CoprocReg },
9461c9460
< { 2 /* 1 */, 194 /* stc2 */, Feature_IsARM, MCK_CoprocReg },
---
> { 4 /* 2 */, 190 /* stc */, Feature_IsThumb2, MCK_CoprocReg },
9463,9464d9461
< { 4 /* 2 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocNum },
9465a9463,9464
> { 2 /* 1 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocNum },
> { 4 /* 2 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocReg },
9467d9465
< { 8 /* 3 */, 194 /* stc2 */, Feature_IsARM, MCK_CoprocOption },
9468a9467
> { 8 /* 3 */, 194 /* stc2 */, Feature_IsARM, MCK_CoprocOption },
9472c9471
< { 4 /* 2 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 2 /* 1 */, 194 /* stc2 */, Feature_IsARM, MCK_CoprocReg },
9474d9472
< { 16 /* 4 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocOption },
9475a9474
> { 16 /* 4 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocOption },
9479c9478
< { 2 /* 1 */, 199 /* stc2l */, Feature_IsARM, MCK_CoprocReg },
---
> { 4 /* 2 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocReg },
9481,9482d9479
< { 4 /* 2 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocNum },
9483a9481,9482
> { 2 /* 1 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocNum },
> { 4 /* 2 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocReg },
9485d9483
< { 8 /* 3 */, 199 /* stc2l */, Feature_IsARM, MCK_CoprocOption },
9486a9485
> { 8 /* 3 */, 199 /* stc2l */, Feature_IsARM, MCK_CoprocOption },
9490c9489
< { 4 /* 2 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 2 /* 1 */, 199 /* stc2l */, Feature_IsARM, MCK_CoprocReg },
9492d9490
< { 16 /* 4 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocOption },
9493a9492
> { 16 /* 4 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocOption },
9497c9496
< { 4 /* 2 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocReg },
---
> { 4 /* 2 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocReg },
9499,9500d9497
< { 4 /* 2 */, 205 /* stcl */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 205 /* stcl */, Feature_IsThumb2, MCK_CoprocNum },
9502c9499
< { 2 /* 1 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocNum },
---
> { 2 /* 1 */, 205 /* stcl */, Feature_IsThumb2, MCK_CoprocNum },
9503a9501,9502
> { 2 /* 1 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocReg },
9504a9504
> { 4 /* 2 */, 205 /* stcl */, Feature_IsThumb2, MCK_CoprocReg },
9506d9505
< { 4 /* 2 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocReg },
9507a9507
> { 4 /* 2 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocReg },
9509d9508
< { 4 /* 2 */, 205 /* stcl */, Feature_IsThumb2, MCK_CoprocReg },
9511,9512d9509
< { 4 /* 2 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocReg },
< { 2 /* 1 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocNum },
9513a9511,9512
> { 2 /* 1 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocReg },
9514a9514
> { 4 /* 2 */, 205 /* stcl */, Feature_IsThumb2, MCK_CoprocReg },
diff ARMGenOld/OperandInfo.txt ARMGenNew/OperandInfo.txt
6d5
< { 28 /* 2, 3, 4 */, 8 /* cdp */, Feature_IsThumb2, MCK_CoprocReg },
8c7
< { 56 /* 3, 4, 5 */, 8 /* cdp */, Feature_IsARM, MCK_CoprocReg },
---
> { 28 /* 2, 3, 4 */, 8 /* cdp */, Feature_IsThumb2, MCK_CoprocReg },
10c9
< { 28 /* 2, 3, 4 */, 12 /* cdp2 */, Feature_IsARM, MCK_CoprocReg },
---
> { 56 /* 3, 4, 5 */, 8 /* cdp */, Feature_IsARM, MCK_CoprocReg },
12c11
< { 28 /* 2, 3, 4 */, 12 /* cdp2 */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 28 /* 2, 3, 4 */, 12 /* cdp2 */, Feature_IsARM, MCK_CoprocReg },
13a13
> { 28 /* 2, 3, 4 */, 12 /* cdp2 */, Feature_IsThumb2, MCK_CoprocReg },
27d26
< { 4 /* 2 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocReg },
29,30d27
< { 4 /* 2 */, 36 /* ldc */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 36 /* ldc */, Feature_IsThumb2, MCK_CoprocNum },
32c29
< { 2 /* 1 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocNum },
---
> { 2 /* 1 */, 36 /* ldc */, Feature_IsThumb2, MCK_CoprocNum },
33a31,32
> { 2 /* 1 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocReg },
34a34
> { 4 /* 2 */, 36 /* ldc */, Feature_IsThumb2, MCK_CoprocReg },
36d35
< { 4 /* 2 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocReg },
37a37
> { 4 /* 2 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocReg },
39d38
< { 4 /* 2 */, 36 /* ldc */, Feature_IsThumb2, MCK_CoprocReg },
41,42d39
< { 4 /* 2 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocReg },
< { 2 /* 1 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocNum },
43a41,42
> { 2 /* 1 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 36 /* ldc */, Feature_IsARM, MCK_CoprocReg },
45c44
< { 2 /* 1 */, 40 /* ldc2 */, Feature_IsARM, MCK_CoprocReg },
---
> { 4 /* 2 */, 36 /* ldc */, Feature_IsThumb2, MCK_CoprocReg },
47,48d45
< { 4 /* 2 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocNum },
49a47,48
> { 2 /* 1 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocNum },
> { 4 /* 2 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocReg },
51d49
< { 8 /* 3 */, 40 /* ldc2 */, Feature_IsARM, MCK_CoprocOption },
52a51
> { 8 /* 3 */, 40 /* ldc2 */, Feature_IsARM, MCK_CoprocOption },
56c55
< { 4 /* 2 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 2 /* 1 */, 40 /* ldc2 */, Feature_IsARM, MCK_CoprocReg },
58d56
< { 16 /* 4 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocOption },
59a58
> { 16 /* 4 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocOption },
63c62
< { 2 /* 1 */, 45 /* ldc2l */, Feature_IsARM, MCK_CoprocReg },
---
> { 4 /* 2 */, 40 /* ldc2 */, Feature_IsThumb2, MCK_CoprocReg },
65,66d63
< { 4 /* 2 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocNum },
67a65,66
> { 2 /* 1 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocNum },
> { 4 /* 2 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocReg },
69d67
< { 8 /* 3 */, 45 /* ldc2l */, Feature_IsARM, MCK_CoprocOption },
70a69
> { 8 /* 3 */, 45 /* ldc2l */, Feature_IsARM, MCK_CoprocOption },
74c73
< { 4 /* 2 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 2 /* 1 */, 45 /* ldc2l */, Feature_IsARM, MCK_CoprocReg },
76d74
< { 16 /* 4 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocOption },
77a76
> { 16 /* 4 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocOption },
81c80
< { 4 /* 2 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocReg },
---
> { 4 /* 2 */, 45 /* ldc2l */, Feature_IsThumb2, MCK_CoprocReg },
83,84d81
< { 4 /* 2 */, 51 /* ldcl */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 51 /* ldcl */, Feature_IsThumb2, MCK_CoprocNum },
86c83
< { 2 /* 1 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocNum },
---
> { 2 /* 1 */, 51 /* ldcl */, Feature_IsThumb2, MCK_CoprocNum },
87a85,86
> { 2 /* 1 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocReg },
88a88
> { 4 /* 2 */, 51 /* ldcl */, Feature_IsThumb2, MCK_CoprocReg },
90d89
< { 4 /* 2 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocReg },
91a91
> { 4 /* 2 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocReg },
93d92
< { 4 /* 2 */, 51 /* ldcl */, Feature_IsThumb2, MCK_CoprocReg },
95,96d93
< { 4 /* 2 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocReg },
< { 2 /* 1 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocNum },
97a95,96
> { 2 /* 1 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 51 /* ldcl */, Feature_IsARM, MCK_CoprocReg },
98a98
> { 4 /* 2 */, 51 /* ldcl */, Feature_IsThumb2, MCK_CoprocReg },
110d109
< { 24 /* 3, 4 */, 118 /* mcr */, Feature_IsThumb2, MCK_CoprocReg },
112,113d110
< { 48 /* 4, 5 */, 118 /* mcr */, Feature_IsARM, MCK_CoprocReg },
< { 2 /* 1 */, 118 /* mcr */, Feature_IsARM, MCK_CoprocNum },
115c112
< { 1 /* 0 */, 118 /* mcr */, Feature_IsThumb2, MCK_CoprocNum },
---
> { 2 /* 1 */, 118 /* mcr */, Feature_IsARM, MCK_CoprocNum },
116a114,115
> { 1 /* 0 */, 118 /* mcr */, Feature_IsThumb2, MCK_CoprocNum },
> { 24 /* 3, 4 */, 118 /* mcr */, Feature_IsThumb2, MCK_CoprocReg },
118c117
< { 24 /* 3, 4 */, 122 /* mcr2 */, Feature_IsARM, MCK_CoprocReg },
---
> { 48 /* 4, 5 */, 118 /* mcr */, Feature_IsARM, MCK_CoprocReg },
120,121d118
< { 24 /* 3, 4 */, 122 /* mcr2 */, Feature_IsThumb2, MCK_CoprocReg },
< { 1 /* 0 */, 122 /* mcr2 */, Feature_IsThumb2, MCK_CoprocNum },
123c120
< { 1 /* 0 */, 122 /* mcr2 */, Feature_IsARM, MCK_CoprocNum },
---
> { 1 /* 0 */, 122 /* mcr2 */, Feature_IsThumb2, MCK_CoprocNum },
124a122,123
> { 1 /* 0 */, 122 /* mcr2 */, Feature_IsARM, MCK_CoprocNum },
> { 24 /* 3, 4 */, 122 /* mcr2 */, Feature_IsARM, MCK_CoprocReg },
126c125
< { 16 /* 4 */, 127 /* mcrr */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 24 /* 3, 4 */, 122 /* mcr2 */, Feature_IsThumb2, MCK_CoprocReg },
128c127
< { 32 /* 5 */, 127 /* mcrr */, Feature_IsARM, MCK_CoprocReg },
---
> { 16 /* 4 */, 127 /* mcrr */, Feature_IsThumb2, MCK_CoprocReg },
130c129
< { 16 /* 4 */, 132 /* mcrr2 */, Feature_IsARM, MCK_CoprocReg },
---
> { 32 /* 5 */, 127 /* mcrr */, Feature_IsARM, MCK_CoprocReg },
132c131
< { 16 /* 4 */, 132 /* mcrr2 */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 16 /* 4 */, 132 /* mcrr2 */, Feature_IsARM, MCK_CoprocReg },
134c133
< { 24 /* 3, 4 */, 138 /* mrc */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 16 /* 4 */, 132 /* mcrr2 */, Feature_IsThumb2, MCK_CoprocReg },
136,137d134
< { 48 /* 4, 5 */, 138 /* mrc */, Feature_IsARM, MCK_CoprocReg },
< { 2 /* 1 */, 138 /* mrc */, Feature_IsARM, MCK_CoprocNum },
139c136
< { 1 /* 0 */, 138 /* mrc */, Feature_IsThumb2, MCK_CoprocNum },
---
> { 2 /* 1 */, 138 /* mrc */, Feature_IsARM, MCK_CoprocNum },
140a138,139
> { 1 /* 0 */, 138 /* mrc */, Feature_IsThumb2, MCK_CoprocNum },
> { 24 /* 3, 4 */, 138 /* mrc */, Feature_IsThumb2, MCK_CoprocReg },
142c141
< { 24 /* 3, 4 */, 142 /* mrc2 */, Feature_IsARM, MCK_CoprocReg },
---
> { 48 /* 4, 5 */, 138 /* mrc */, Feature_IsARM, MCK_CoprocReg },
144,145d142
< { 24 /* 3, 4 */, 142 /* mrc2 */, Feature_IsThumb2, MCK_CoprocReg },
< { 1 /* 0 */, 142 /* mrc2 */, Feature_IsThumb2, MCK_CoprocNum },
147c144
< { 1 /* 0 */, 142 /* mrc2 */, Feature_IsARM, MCK_CoprocNum },
---
> { 1 /* 0 */, 142 /* mrc2 */, Feature_IsThumb2, MCK_CoprocNum },
148a146,147
> { 1 /* 0 */, 142 /* mrc2 */, Feature_IsARM, MCK_CoprocNum },
> { 24 /* 3, 4 */, 142 /* mrc2 */, Feature_IsARM, MCK_CoprocReg },
150c149
< { 16 /* 4 */, 147 /* mrrc */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 24 /* 3, 4 */, 142 /* mrc2 */, Feature_IsThumb2, MCK_CoprocReg },
152c151
< { 32 /* 5 */, 147 /* mrrc */, Feature_IsARM, MCK_CoprocReg },
---
> { 16 /* 4 */, 147 /* mrrc */, Feature_IsThumb2, MCK_CoprocReg },
154c153
< { 16 /* 4 */, 152 /* mrrc2 */, Feature_IsARM, MCK_CoprocReg },
---
> { 32 /* 5 */, 147 /* mrrc */, Feature_IsARM, MCK_CoprocReg },
156c155
< { 16 /* 4 */, 152 /* mrrc2 */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 16 /* 4 */, 152 /* mrrc2 */, Feature_IsARM, MCK_CoprocReg },
157a157
> { 16 /* 4 */, 152 /* mrrc2 */, Feature_IsThumb2, MCK_CoprocReg },
171d170
< { 4 /* 2 */, 190 /* stc */, Feature_IsARM, MCK_CoprocReg },
173,174d171
< { 4 /* 2 */, 190 /* stc */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 190 /* stc */, Feature_IsThumb2, MCK_CoprocNum },
176c173
< { 2 /* 1 */, 190 /* stc */, Feature_IsARM, MCK_CoprocNum },
---
> { 2 /* 1 */, 190 /* stc */, Feature_IsThumb2, MCK_CoprocNum },
177a175,176
> { 2 /* 1 */, 190 /* stc */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 190 /* stc */, Feature_IsARM, MCK_CoprocReg },
178a178
> { 4 /* 2 */, 190 /* stc */, Feature_IsThumb2, MCK_CoprocReg },
180d179
< { 4 /* 2 */, 190 /* stc */, Feature_IsARM, MCK_CoprocReg },
181a181
> { 4 /* 2 */, 190 /* stc */, Feature_IsARM, MCK_CoprocReg },
183d182
< { 4 /* 2 */, 190 /* stc */, Feature_IsThumb2, MCK_CoprocReg },
185,186d183
< { 4 /* 2 */, 190 /* stc */, Feature_IsARM, MCK_CoprocReg },
< { 2 /* 1 */, 190 /* stc */, Feature_IsARM, MCK_CoprocNum },
187a185,186
> { 2 /* 1 */, 190 /* stc */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 190 /* stc */, Feature_IsARM, MCK_CoprocReg },
189c188
< { 2 /* 1 */, 194 /* stc2 */, Feature_IsARM, MCK_CoprocReg },
---
> { 4 /* 2 */, 190 /* stc */, Feature_IsThumb2, MCK_CoprocReg },
191,192d189
< { 4 /* 2 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocNum },
193a191,192
> { 2 /* 1 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocNum },
> { 4 /* 2 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocReg },
195d193
< { 8 /* 3 */, 194 /* stc2 */, Feature_IsARM, MCK_CoprocOption },
196a195
> { 8 /* 3 */, 194 /* stc2 */, Feature_IsARM, MCK_CoprocOption },
200c199
< { 4 /* 2 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 2 /* 1 */, 194 /* stc2 */, Feature_IsARM, MCK_CoprocReg },
202d200
< { 16 /* 4 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocOption },
203a202
> { 16 /* 4 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocOption },
207c206
< { 2 /* 1 */, 199 /* stc2l */, Feature_IsARM, MCK_CoprocReg },
---
> { 4 /* 2 */, 194 /* stc2 */, Feature_IsThumb2, MCK_CoprocReg },
209,210d207
< { 4 /* 2 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocNum },
211a209,210
> { 2 /* 1 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocNum },
> { 4 /* 2 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocReg },
213d211
< { 8 /* 3 */, 199 /* stc2l */, Feature_IsARM, MCK_CoprocOption },
214a213
> { 8 /* 3 */, 199 /* stc2l */, Feature_IsARM, MCK_CoprocOption },
218c217
< { 4 /* 2 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocReg },
---
> { 2 /* 1 */, 199 /* stc2l */, Feature_IsARM, MCK_CoprocReg },
220d218
< { 16 /* 4 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocOption },
221a220
> { 16 /* 4 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocOption },
225c224
< { 4 /* 2 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocReg },
---
> { 4 /* 2 */, 199 /* stc2l */, Feature_IsThumb2, MCK_CoprocReg },
227,228d225
< { 4 /* 2 */, 205 /* stcl */, Feature_IsThumb2, MCK_CoprocReg },
< { 2 /* 1 */, 205 /* stcl */, Feature_IsThumb2, MCK_CoprocNum },
230c227
< { 2 /* 1 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocNum },
---
> { 2 /* 1 */, 205 /* stcl */, Feature_IsThumb2, MCK_CoprocNum },
231a229,230
> { 2 /* 1 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocReg },
232a232
> { 4 /* 2 */, 205 /* stcl */, Feature_IsThumb2, MCK_CoprocReg },
234d233
< { 4 /* 2 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocReg },
235a235
> { 4 /* 2 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocReg },
237d236
< { 4 /* 2 */, 205 /* stcl */, Feature_IsThumb2, MCK_CoprocReg },
239,240d237
< { 4 /* 2 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocReg },
< { 2 /* 1 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocNum },
241a239,240
> { 2 /* 1 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocNum },
> { 4 /* 2 */, 205 /* stcl */, Feature_IsARM, MCK_CoprocReg },
242a242
> { 4 /* 2 */, 205 /* stcl */, Feature_IsThumb2, MCK_CoprocReg },
697d696
<
More information about the llvm-commits
mailing list