Home | History | Annotate | Download | only in PowerPC
      1 # RUN: llvm-mc --disassemble %s -triple powerpc64-unknown-unknown -mcpu=pwr7 | FileCheck %s
      2 
      3 # FIXME: test b target                        
      4 
      5 # FIXME: test ba target                       
      6 
      7 # FIXME: test bl target                       
      8 
      9 # FIXME: test bla target                      
     10 
     11 # FIXME: test bc 4, 10, target                
     12 
     13 # FIXME: test bca 4, 10, target               
     14 
     15 # FIXME: test bcl 4, 10, target               
     16 
     17 # FIXME: test bcla 4, 10, target              
     18 
     19 # CHECK: bclr 4, 10, 3                   
     20 0x4c 0x8a 0x18 0x20
     21 
     22 # CHECK: bclr 4, 10, 0                   
     23 0x4c 0x8a 0x00 0x20
     24 
     25 # CHECK: bclrl 4, 10, 3                  
     26 0x4c 0x8a 0x18 0x21
     27 
     28 # CHECK: bclrl 4, 10, 0                  
     29 0x4c 0x8a 0x00 0x21
     30 
     31 # CHECK: bcctr 4, 10, 3                  
     32 0x4c 0x8a 0x1c 0x20
     33 
     34 # CHECK: bcctr 4, 10, 0                  
     35 0x4c 0x8a 0x04 0x20
     36 
     37 # CHECK: bcctrl 4, 10, 3                 
     38 0x4c 0x8a 0x1c 0x21
     39 
     40 # CHECK: bcctrl 4, 10, 0                 
     41 0x4c 0x8a 0x04 0x21
     42 
     43 # CHECK: crand 2, 3, 4                   
     44 0x4c 0x43 0x22 0x02
     45 
     46 # CHECK: crnand 2, 3, 4                  
     47 0x4c 0x43 0x21 0xc2
     48 
     49 # CHECK: cror 2, 3, 4                    
     50 0x4c 0x43 0x23 0x82
     51 
     52 # CHECK: crxor 2, 3, 4                   
     53 0x4c 0x43 0x21 0x82
     54 
     55 # CHECK: crnor 2, 3, 4                   
     56 0x4c 0x43 0x20 0x42
     57 
     58 # CHECK: creqv 2, 3, 4                   
     59 0x4c 0x43 0x22 0x42
     60 
     61 # CHECK: crandc 2, 3, 4                  
     62 0x4c 0x43 0x21 0x02
     63 
     64 # CHECK: crorc 2, 3, 4                   
     65 0x4c 0x43 0x23 0x42
     66 
     67 # CHECK: mcrf 2, 3                       
     68 0x4d 0x0c 0x00 0x00
     69 
     70 # CHECK: sc 1                            
     71 0x44 0x00 0x00 0x22
     72 
     73 # CHECK: sc 0                            
     74 0x44 0x00 0x00 0x02
     75 
     76 # CHECK: lbz 2, 128(4)                   
     77 0x88 0x44 0x00 0x80
     78 
     79 # CHECK: lbzx 2, 3, 4                    
     80 0x7c 0x43 0x20 0xae
     81 
     82 # CHECK: lbzu 2, 128(4)                  
     83 0x8c 0x44 0x00 0x80
     84 
     85 # CHECK: lbzux 2, 3, 4                   
     86 0x7c 0x43 0x20 0xee
     87 
     88 # CHECK: lhz 2, 128(4)                   
     89 0xa0 0x44 0x00 0x80
     90 
     91 # CHECK: lhzx 2, 3, 4                    
     92 0x7c 0x43 0x22 0x2e
     93 
     94 # CHECK: lhzu 2, 128(4)                  
     95 0xa4 0x44 0x00 0x80
     96 
     97 # CHECK: lhzux 2, 3, 4                   
     98 0x7c 0x43 0x22 0x6e
     99 
    100 # CHECK: lha 2, 128(4)                   
    101 0xa8 0x44 0x00 0x80
    102 
    103 # CHECK: lhax 2, 3, 4                    
    104 0x7c 0x43 0x22 0xae
    105 
    106 # CHECK: lhau 2, 128(4)                  
    107 0xac 0x44 0x00 0x80
    108 
    109 # CHECK: lhaux 2, 3, 4                   
    110 0x7c 0x43 0x22 0xee
    111 
    112 # CHECK: lwz 2, 128(4)                   
    113 0x80 0x44 0x00 0x80
    114 
    115 # CHECK: lwzx 2, 3, 4                    
    116 0x7c 0x43 0x20 0x2e
    117 
    118 # CHECK: lwzu 2, 128(4)                  
    119 0x84 0x44 0x00 0x80
    120 
    121 # CHECK: lwzux 2, 3, 4                   
    122 0x7c 0x43 0x20 0x6e
    123 
    124 # CHECK: lwa 2, 128(4)                   
    125 0xe8 0x44 0x00 0x82
    126 
    127 # CHECK: lwax 2, 3, 4                    
    128 0x7c 0x43 0x22 0xaa
    129 
    130 # CHECK: lwaux 2, 3, 4                   
    131 0x7c 0x43 0x22 0xea
    132 
    133 # CHECK: ld 2, 128(4)                    
    134 0xe8 0x44 0x00 0x80
    135 
    136 # CHECK: ldx 2, 3, 4                     
    137 0x7c 0x43 0x20 0x2a
    138 
    139 # CHECK: ldu 2, 128(4)                   
    140 0xe8 0x44 0x00 0x81
    141 
    142 # CHECK: ldux 2, 3, 4                    
    143 0x7c 0x43 0x20 0x6a
    144 
    145 # CHECK: stb 2, 128(4)                   
    146 0x98 0x44 0x00 0x80
    147 
    148 # CHECK: stbx 2, 3, 4                    
    149 0x7c 0x43 0x21 0xae
    150 
    151 # CHECK: stbu 2, 128(4)                  
    152 0x9c 0x44 0x00 0x80
    153 
    154 # CHECK: stbux 2, 3, 4                   
    155 0x7c 0x43 0x21 0xee
    156 
    157 # CHECK: sth 2, 128(4)                   
    158 0xb0 0x44 0x00 0x80
    159 
    160 # CHECK: sthx 2, 3, 4                    
    161 0x7c 0x43 0x23 0x2e
    162 
    163 # CHECK: sthu 2, 128(4)                  
    164 0xb4 0x44 0x00 0x80
    165 
    166 # CHECK: sthux 2, 3, 4                   
    167 0x7c 0x43 0x23 0x6e
    168 
    169 # CHECK: stw 2, 128(4)                   
    170 0x90 0x44 0x00 0x80
    171 
    172 # CHECK: stwx 2, 3, 4                    
    173 0x7c 0x43 0x21 0x2e
    174 
    175 # CHECK: stwu 2, 128(4)                  
    176 0x94 0x44 0x00 0x80
    177 
    178 # CHECK: stwux 2, 3, 4                   
    179 0x7c 0x43 0x21 0x6e
    180 
    181 # CHECK: std 2, 128(4)                   
    182 0xf8 0x44 0x00 0x80
    183 
    184 # CHECK: stdx 2, 3, 4                    
    185 0x7c 0x43 0x21 0x2a
    186 
    187 # CHECK: stdu 2, 128(4)                  
    188 0xf8 0x44 0x00 0x81
    189 
    190 # CHECK: stdux 2, 3, 4                   
    191 0x7c 0x43 0x21 0x6a
    192 
    193 # CHECK: lhbrx 2, 3, 4                   
    194 0x7c 0x43 0x26 0x2c
    195 
    196 # CHECK: sthbrx 2, 3, 4                  
    197 0x7c 0x43 0x27 0x2c
    198 
    199 # CHECK: lwbrx 2, 3, 4                   
    200 0x7c 0x43 0x24 0x2c
    201 
    202 # CHECK: stwbrx 2, 3, 4                  
    203 0x7c 0x43 0x25 0x2c
    204 
    205 # CHECK: ldbrx 2, 3, 4                   
    206 0x7c 0x43 0x24 0x28
    207 
    208 # CHECK: stdbrx 2, 3, 4                  
    209 0x7c 0x43 0x25 0x28
    210 
    211 # CHECK: lmw 2, 128(1)                   
    212 0xb8 0x41 0x00 0x80
    213 
    214 # CHECK: stmw 2, 128(1)                  
    215 0xbc 0x41 0x00 0x80
    216 
    217 # CHECK: addi 2, 3, 128                  
    218 0x38 0x43 0x00 0x80
    219 
    220 # CHECK: addis 2, 3, 128                 
    221 0x3c 0x43 0x00 0x80
    222 
    223 # CHECK: add 2, 3, 4                     
    224 0x7c 0x43 0x22 0x14
    225 
    226 # CHECK: add. 2, 3, 4                    
    227 0x7c 0x43 0x22 0x15
    228 
    229 # CHECK: subf 2, 3, 4                    
    230 0x7c 0x43 0x20 0x50
    231 
    232 # CHECK: subf. 2, 3, 4                   
    233 0x7c 0x43 0x20 0x51
    234 
    235 # CHECK: addic 2, 3, 128                 
    236 0x30 0x43 0x00 0x80
    237 
    238 # CHECK: addic. 2, 3, 128                
    239 0x34 0x43 0x00 0x80
    240 
    241 # CHECK: subfic 2, 3, 4                  
    242 0x20 0x43 0x00 0x04
    243 
    244 # CHECK: addc 2, 3, 4                    
    245 0x7c 0x43 0x20 0x14
    246 
    247 # CHECK: addc. 2, 3, 4                   
    248 0x7c 0x43 0x20 0x15
    249 
    250 # CHECK: subfc 2, 3, 4                   
    251 0x7c 0x43 0x20 0x10
    252 
    253 # CHECK: subfc 2, 3, 4                   
    254 0x7c 0x43 0x20 0x10
    255 
    256 # CHECK: adde 2, 3, 4                    
    257 0x7c 0x43 0x21 0x14
    258 
    259 # CHECK: adde. 2, 3, 4                   
    260 0x7c 0x43 0x21 0x15
    261 
    262 # CHECK: subfe 2, 3, 4                   
    263 0x7c 0x43 0x21 0x10
    264 
    265 # CHECK: subfe. 2, 3, 4                  
    266 0x7c 0x43 0x21 0x11
    267 
    268 # CHECK: addme 2, 3                      
    269 0x7c 0x43 0x01 0xd4
    270 
    271 # CHECK: addme. 2, 3                     
    272 0x7c 0x43 0x01 0xd5
    273 
    274 # CHECK: subfme 2, 3                     
    275 0x7c 0x43 0x01 0xd0
    276 
    277 # CHECK: subfme. 2, 3                    
    278 0x7c 0x43 0x01 0xd1
    279 
    280 # CHECK: addze 2, 3                      
    281 0x7c 0x43 0x01 0x94
    282 
    283 # CHECK: addze. 2, 3                     
    284 0x7c 0x43 0x01 0x95
    285 
    286 # CHECK: subfze 2, 3                     
    287 0x7c 0x43 0x01 0x90
    288 
    289 # CHECK: subfze. 2, 3                    
    290 0x7c 0x43 0x01 0x91
    291 
    292 # CHECK: neg 2, 3                        
    293 0x7c 0x43 0x00 0xd0
    294 
    295 # CHECK: neg. 2, 3                       
    296 0x7c 0x43 0x00 0xd1
    297 
    298 # CHECK: mulli 2, 3, 128                 
    299 0x1c 0x43 0x00 0x80
    300 
    301 # CHECK: mulhw 2, 3, 4                   
    302 0x7c 0x43 0x20 0x96
    303 
    304 # CHECK: mulhw. 2, 3, 4                  
    305 0x7c 0x43 0x20 0x97
    306 
    307 # CHECK: mullw 2, 3, 4                   
    308 0x7c 0x43 0x21 0xd6
    309 
    310 # CHECK: mullw. 2, 3, 4                  
    311 0x7c 0x43 0x21 0xd7
    312 
    313 # CHECK: mulhwu 2, 3, 4                  
    314 0x7c 0x43 0x20 0x16
    315 
    316 # CHECK: mulhwu. 2, 3, 4                 
    317 0x7c 0x43 0x20 0x17
    318 
    319 # CHECK: divw 2, 3, 4                    
    320 0x7c 0x43 0x23 0xd6
    321 
    322 # CHECK: divw. 2, 3, 4                   
    323 0x7c 0x43 0x23 0xd7
    324 
    325 # CHECK: divwu 2, 3, 4                   
    326 0x7c 0x43 0x23 0x96
    327 
    328 # CHECK: divwu. 2, 3, 4                  
    329 0x7c 0x43 0x23 0x97
    330 
    331 # CHECK: mulld 2, 3, 4                   
    332 0x7c 0x43 0x21 0xd2
    333 
    334 # CHECK: mulld. 2, 3, 4                  
    335 0x7c 0x43 0x21 0xd3
    336 
    337 # CHECK: mulhd 2, 3, 4                   
    338 0x7c 0x43 0x20 0x92
    339 
    340 # CHECK: mulhd. 2, 3, 4                  
    341 0x7c 0x43 0x20 0x93
    342 
    343 # CHECK: mulhdu 2, 3, 4                  
    344 0x7c 0x43 0x20 0x12
    345 
    346 # CHECK: mulhdu. 2, 3, 4                 
    347 0x7c 0x43 0x20 0x13
    348 
    349 # CHECK: divd 2, 3, 4                    
    350 0x7c 0x43 0x23 0xd2
    351 
    352 # CHECK: divd. 2, 3, 4                   
    353 0x7c 0x43 0x23 0xd3
    354 
    355 # CHECK: divdu 2, 3, 4                   
    356 0x7c 0x43 0x23 0x92
    357 
    358 # CHECK: divdu. 2, 3, 4                  
    359 0x7c 0x43 0x23 0x93
    360 
    361 # CHECK: cmpdi 2, 3, 128                 
    362 0x2d 0x23 0x00 0x80
    363 
    364 # CHECK: cmpd 2, 3, 4                    
    365 0x7d 0x23 0x20 0x00
    366 
    367 # CHECK: cmpldi 2, 3, 128                
    368 0x29 0x23 0x00 0x80
    369 
    370 # CHECK: cmpld 2, 3, 4                   
    371 0x7d 0x23 0x20 0x40
    372 
    373 # CHECK: cmpwi 2, 3, 128                 
    374 0x2d 0x03 0x00 0x80
    375 
    376 # CHECK: cmpw 2, 3, 4                    
    377 0x7d 0x03 0x20 0x00
    378 
    379 # CHECK: cmplwi 2, 3, 128                
    380 0x29 0x03 0x00 0x80
    381 
    382 # CHECK: cmplw 2, 3, 4                   
    383 0x7d 0x03 0x20 0x40
    384 
    385 # CHECK: twi 2, 3, 4                     
    386 0x0c 0x43 0x00 0x04
    387 
    388 # CHECK: tw 2, 3, 4                      
    389 0x7c 0x43 0x20 0x08
    390 
    391 # CHECK: tdi 2, 3, 4                     
    392 0x08 0x43 0x00 0x04
    393 
    394 # CHECK: td 2, 3, 4                      
    395 0x7c 0x43 0x20 0x88
    396 
    397 # CHECK: isel 2, 3, 4, 5                 
    398 0x7c 0x43 0x21 0x5e
    399 
    400 # CHECK: andi. 2, 3, 128                 
    401 0x70 0x62 0x00 0x80
    402 
    403 # CHECK: andis. 2, 3, 128                
    404 0x74 0x62 0x00 0x80
    405 
    406 # CHECK: ori 2, 3, 128                   
    407 0x60 0x62 0x00 0x80
    408 
    409 # CHECK: oris 2, 3, 128                  
    410 0x64 0x62 0x00 0x80
    411 
    412 # CHECK: xori 2, 3, 128                  
    413 0x68 0x62 0x00 0x80
    414 
    415 # CHECK: xoris 2, 3, 128                 
    416 0x6c 0x62 0x00 0x80
    417 
    418 # CHECK: and 2, 3, 4                     
    419 0x7c 0x62 0x20 0x38
    420 
    421 # CHECK: and. 2, 3, 4                    
    422 0x7c 0x62 0x20 0x39
    423 
    424 # CHECK: xor 2, 3, 4                     
    425 0x7c 0x62 0x22 0x78
    426 
    427 # CHECK: xor. 2, 3, 4                    
    428 0x7c 0x62 0x22 0x79
    429 
    430 # CHECK: nand 2, 3, 4                    
    431 0x7c 0x62 0x23 0xb8
    432 
    433 # CHECK: nand. 2, 3, 4                   
    434 0x7c 0x62 0x23 0xb9
    435 
    436 # CHECK: or 2, 3, 4                      
    437 0x7c 0x62 0x23 0x78
    438 
    439 # CHECK: or. 2, 3, 4                     
    440 0x7c 0x62 0x23 0x79
    441 
    442 # CHECK: nor 2, 3, 4                     
    443 0x7c 0x62 0x20 0xf8
    444 
    445 # CHECK: nor. 2, 3, 4                    
    446 0x7c 0x62 0x20 0xf9
    447 
    448 # CHECK: eqv 2, 3, 4                     
    449 0x7c 0x62 0x22 0x38
    450 
    451 # CHECK: eqv. 2, 3, 4                    
    452 0x7c 0x62 0x22 0x39
    453 
    454 # CHECK: andc 2, 3, 4                    
    455 0x7c 0x62 0x20 0x78
    456 
    457 # CHECK: andc. 2, 3, 4                   
    458 0x7c 0x62 0x20 0x79
    459 
    460 # CHECK: orc 2, 3, 4                     
    461 0x7c 0x62 0x23 0x38
    462 
    463 # CHECK: orc. 2, 3, 4                    
    464 0x7c 0x62 0x23 0x39
    465 
    466 # CHECK: extsb 2, 3                      
    467 0x7c 0x62 0x07 0x74
    468 
    469 # CHECK: extsb. 2, 3                     
    470 0x7c 0x62 0x07 0x75
    471 
    472 # CHECK: extsh 2, 3                      
    473 0x7c 0x62 0x07 0x34
    474 
    475 # CHECK: extsh. 2, 3                     
    476 0x7c 0x62 0x07 0x35
    477 
    478 # CHECK: cntlzw 2, 3                     
    479 0x7c 0x62 0x00 0x34
    480 
    481 # CHECK: cntlzw. 2, 3                    
    482 0x7c 0x62 0x00 0x35
    483 
    484 # CHECK: popcntw 2, 3                    
    485 0x7c 0x62 0x02 0xf4
    486 
    487 # CHECK: extsw 2, 3                      
    488 0x7c 0x62 0x07 0xb4
    489 
    490 # CHECK: extsw. 2, 3                     
    491 0x7c 0x62 0x07 0xb5
    492 
    493 # CHECK: cntlzd 2, 3                     
    494 0x7c 0x62 0x00 0x74
    495 
    496 # CHECK: cntlzd. 2, 3                    
    497 0x7c 0x62 0x00 0x75
    498 
    499 # CHECK: popcntd 2, 3                    
    500 0x7c 0x62 0x03 0xf4
    501 
    502 # CHECK: rlwinm 2, 3, 4, 5, 6            
    503 0x54 0x62 0x21 0x4c
    504 
    505 # CHECK: rlwinm. 2, 3, 4, 5, 6           
    506 0x54 0x62 0x21 0x4d
    507 
    508 # CHECK: rlwnm 2, 3, 4, 5, 6             
    509 0x5c 0x62 0x21 0x4c
    510 
    511 # CHECK: rlwnm. 2, 3, 4, 5, 6            
    512 0x5c 0x62 0x21 0x4d
    513 
    514 # CHECK: rlwimi 2, 3, 4, 5, 6            
    515 0x50 0x62 0x21 0x4c
    516 
    517 # CHECK: rlwimi. 2, 3, 4, 5, 6           
    518 0x50 0x62 0x21 0x4d
    519 
    520 # CHECK: rldicl 2, 3, 4, 5               
    521 0x78 0x62 0x21 0x40
    522 
    523 # CHECK: rldicl. 2, 3, 4, 5              
    524 0x78 0x62 0x21 0x41
    525 
    526 # CHECK: rldicr 2, 3, 4, 5               
    527 0x78 0x62 0x21 0x44
    528 
    529 # CHECK: rldicr. 2, 3, 4, 5              
    530 0x78 0x62 0x21 0x45
    531 
    532 # CHECK: rldic 2, 3, 4, 5                
    533 0x78 0x62 0x21 0x48
    534 
    535 # CHECK: rldic. 2, 3, 4, 5               
    536 0x78 0x62 0x21 0x49
    537 
    538 # CHECK: rldcl 2, 3, 4, 5                
    539 0x78 0x62 0x21 0x50
    540 
    541 # CHECK: rldcl. 2, 3, 4, 5               
    542 0x78 0x62 0x21 0x51
    543 
    544 # CHECK: rldcr 2, 3, 4, 5                
    545 0x78 0x62 0x21 0x52
    546 
    547 # CHECK: rldcr. 2, 3, 4, 5               
    548 0x78 0x62 0x21 0x53
    549 
    550 # CHECK: rldimi 2, 3, 4, 5               
    551 0x78 0x62 0x21 0x4c
    552 
    553 # CHECK: rldimi. 2, 3, 4, 5              
    554 0x78 0x62 0x21 0x4d
    555 
    556 # CHECK: slw 2, 3, 4                     
    557 0x7c 0x62 0x20 0x30
    558 
    559 # CHECK: slw. 2, 3, 4                    
    560 0x7c 0x62 0x20 0x31
    561 
    562 # CHECK: srw 2, 3, 4                     
    563 0x7c 0x62 0x24 0x30
    564 
    565 # CHECK: srw. 2, 3, 4                    
    566 0x7c 0x62 0x24 0x31
    567 
    568 # CHECK: srawi 2, 3, 4                   
    569 0x7c 0x62 0x26 0x70
    570 
    571 # CHECK: srawi. 2, 3, 4                  
    572 0x7c 0x62 0x26 0x71
    573 
    574 # CHECK: sraw 2, 3, 4                    
    575 0x7c 0x62 0x26 0x30
    576 
    577 # CHECK: sraw. 2, 3, 4                   
    578 0x7c 0x62 0x26 0x31
    579 
    580 # CHECK: sld 2, 3, 4                     
    581 0x7c 0x62 0x20 0x36
    582 
    583 # CHECK: sld. 2, 3, 4                    
    584 0x7c 0x62 0x20 0x37
    585 
    586 # CHECK: srd 2, 3, 4                     
    587 0x7c 0x62 0x24 0x36
    588 
    589 # CHECK: srd. 2, 3, 4                    
    590 0x7c 0x62 0x24 0x37
    591 
    592 # CHECK: sradi 2, 3, 4                   
    593 0x7c 0x62 0x26 0x74
    594 
    595 # CHECK: sradi. 2, 3, 4                  
    596 0x7c 0x62 0x26 0x75
    597 
    598 # CHECK: srad 2, 3, 4                    
    599 0x7c 0x62 0x26 0x34
    600 
    601 # CHECK: srad. 2, 3, 4                   
    602 0x7c 0x62 0x26 0x35
    603 
    604 # CHECK: mtspr 600, 2                    
    605 0x7c 0x58 0x93 0xa6
    606 
    607 # CHECK: mfspr 2, 600                    
    608 0x7c 0x58 0x92 0xa6
    609 
    610 # CHECK: mtcrf 123, 2                    
    611 0x7c 0x47 0xb1 0x20
    612 
    613 # CHECK: mfcr 2                          
    614 0x7c 0x40 0x00 0x26
    615 
    616 # CHECK: mtocrf 16, 2                    
    617 0x7c 0x51 0x01 0x20
    618 
    619 # CHECK: mfocrf 16, 8                    
    620 0x7e 0x10 0x80 0x26
    621 
    622