Home | History | Annotate | Download | only in MBlaze
      1 # RUN: llvm-mc -triple mblaze-unknown-unknown -show-encoding %s | FileCheck %s
      2 
      3 # Test to make sure that all of the TYPE-A instructions supported by
      4 # the Microblaze can be parsed by the assembly parser.
      5 
      6 # TYPE A:   OPCODE RD    RA    RB    FLAGS
      7 # BINARY:   000000 00000 00000 00000 00000000000
      8 
      9 # CHECK:    add
     10 # BINARY:   000000 00001 00010 00011 00000000000
     11 # CHECK:    encoding: [0x00,0x22,0x18,0x00]
     12             add     r1, r2, r3
     13 
     14 # CHECK:    addc
     15 # BINARY:   000010 00001 00010 00011 00000000000
     16 # CHECK:    encoding: [0x08,0x22,0x18,0x00]
     17             addc    r1, r2, r3
     18 
     19 # CHECK:    addk
     20 # BINARY:   000100 00001 00010 00011 00000000000
     21 # CHECK:    encoding: [0x10,0x22,0x18,0x00]
     22             addk    r1, r2, r3
     23 
     24 # CHECK:    addkc
     25 # BINARY:   000110 00001 00010 00011 00000000000
     26 # CHECK:    encoding: [0x18,0x22,0x18,0x00]
     27             addkc   r1, r2, r3
     28 
     29 # CHECK:    and
     30 # BINARY:   100001 00001 00010 00011 00000000000
     31 # CHECK:    encoding: [0x84,0x22,0x18,0x00]
     32             and     r1, r2, r3
     33 
     34 # CHECK:    andn
     35 # BINARY:   100011 00001 00010 00011 00000000000
     36 # CHECK:    encoding: [0x8c,0x22,0x18,0x00]
     37             andn    r1, r2, r3
     38 
     39 # CHECK:    cmp
     40 # BINARY:   000101 00001 00010 00011 00000000001
     41 # CHECK:    encoding: [0x14,0x22,0x18,0x01]
     42             cmp     r1, r2, r3
     43 
     44 # CHECK:    cmpu
     45 # BINARY:   000101 00001 00010 00011 00000000011
     46 # CHECK:    encoding: [0x14,0x22,0x18,0x03]
     47             cmpu    r1, r2, r3
     48 
     49 # CHECK:    idiv
     50 # BINARY:   010010 00001 00010 00011 00000000000
     51 # CHECK:    encoding: [0x48,0x22,0x18,0x00]
     52             idiv    r1, r2, r3
     53 
     54 # CHECK:    idivu
     55 # BINARY:   010010 00001 00010 00011 00000000010
     56 # CHECK:    encoding: [0x48,0x22,0x18,0x02]
     57             idivu   r1, r2, r3
     58 
     59 # CHECK:    mul
     60 # BINARY:   010000 00001 00010 00011 00000000000
     61 # CHECK:    encoding: [0x40,0x22,0x18,0x00]
     62             mul    r1, r2, r3
     63 
     64 # CHECK:    mulh
     65 # BINARY:   010000 00001 00010 00011 00000000001
     66 # CHECK:    encoding: [0x40,0x22,0x18,0x01]
     67             mulh   r1, r2, r3
     68 
     69 # CHECK:    mulhu
     70 # BINARY:   010000 00001 00010 00011 00000000011
     71 # CHECK:    encoding: [0x40,0x22,0x18,0x03]
     72             mulhu  r1, r2, r3
     73 
     74 # CHECK:    mulhsu
     75 # BINARY:   010000 00001 00010 00011 00000000010
     76 # CHECK:    encoding: [0x40,0x22,0x18,0x02]
     77             mulhsu r1, r2, r3
     78 
     79 # CHECK:    or
     80 # BINARY:   100000 00001 00010 00011 00000000000
     81 # CHECK:    encoding: [0x80,0x22,0x18,0x00]
     82             or      r1, r2, r3
     83 
     84 # CHECK:    rsub
     85 # BINARY:   000001 00001 00010 00011 00000000000
     86 # CHECK:    encoding: [0x04,0x22,0x18,0x00]
     87             rsub    r1, r2, r3
     88 
     89 # CHECK:    rsubc
     90 # BINARY:   000011 00001 00010 00011 00000000000
     91 # CHECK:    encoding: [0x0c,0x22,0x18,0x00]
     92             rsubc   r1, r2, r3
     93 
     94 # CHECK:    rsubk
     95 # BINARY:   000101 00001 00010 00011 00000000000
     96 # CHECK:    encoding: [0x14,0x22,0x18,0x00]
     97             rsubk   r1, r2, r3
     98 
     99 # CHECK:    rsubkc
    100 # BINARY:   000111 00001 00010 00011 00000000000
    101 # CHECK:    encoding: [0x1c,0x22,0x18,0x00]
    102             rsubkc  r1, r2, r3
    103 
    104 # CHECK:    sext16
    105 # BINARY:   100100 00001 00010 00000 00001100001
    106 # CHECK:    encoding: [0x90,0x22,0x00,0x61]
    107             sext16  r1, r2
    108 
    109 # CHECK:    sext8
    110 # BINARY:   100100 00001 00010 00000 00001100000
    111 # CHECK:    encoding: [0x90,0x22,0x00,0x60]
    112             sext8   r1, r2
    113 
    114 # CHECK:    xor
    115 # BINARY:   100010 00001 00010 00011 00000000000
    116 # CHECK:    encoding: [0x88,0x22,0x18,0x00]
    117             xor     r1, r2, r3
    118 
    119 # CHECK:    nop
    120 # BINARY:   100000 00000 00000 00000 00000000000
    121 # CHECK:    encoding: [0x80,0x00,0x00,0x00]
    122         nop
    123