[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