Home | History | Annotate | Download | only in Hexagon
      1 # RUN: llvm-mc --triple hexagon -disassemble < %s | FileCheck %s
      2 # Hexagon Programmer's Reference Manual 11.2 CR
      3 
      4 # Corner detection acceleration
      5 0x93 0xe1 0x12 0x6b
      6 # CHECK: p3 = !fastcorner9(p2, p1)
      7 0x91 0xe3 0x02 0x6b
      8 # CHECK: p1 = fastcorner9(p2, p3)
      9 
     10 # Logical reductions on predicates
     11 0x01 0xc0 0x82 0x6b
     12 # CHECK: p1 = any8(p2)
     13 0x01 0xc0 0xa2 0x6b
     14 # CHECK: p1 = all8(p2)
     15 
     16 # Looping instructions
     17 0x08 0xc4 0x15 0x60
     18 # CHECK: loop0
     19 0x08 0xc4 0x35 0x60
     20 # CHECK: loop1
     21 0x68 0xc4 0x00 0x69
     22 # CHECK: loop0
     23 0x68 0xc4 0x20 0x69
     24 # CHECK: loop1
     25 
     26 # Add to PC
     27 0x91 0xca 0x49 0x6a
     28 # CHECK: r17 = add(pc, #21)
     29 
     30 # Pipelined loop instructions
     31 0x08 0xc4 0xb5 0x60
     32 # CHECK: p3 = sp1loop0
     33 0x08 0xc4 0xd5 0x60
     34 # CHECK: p3 = sp2loop0
     35 0x08 0xc4 0xf5 0x60
     36 # CHECK: p3 = sp3loop0
     37 0xa9 0xc4 0xa0 0x69
     38 # CHECK: p3 = sp1loop0
     39 0xa9 0xc4 0xc0 0x69
     40 # CHECK: p3 = sp2loop0
     41 0xa9 0xc4 0xe0 0x69
     42 # CHECK: p3 = sp3loop0
     43 
     44 # Logical operations on predicates
     45 0x01 0xc3 0x02 0x6b
     46 # CHECK: p1 = and(p3, p2)
     47 0xc1 0xc3 0x12 0x6b
     48 # CHECK: p1 = and(p2, and(p3, p3))
     49 0x01 0xc3 0x22 0x6b
     50 # CHECK: p1 = or(p3, p2)
     51 0xc1 0xc3 0x32 0x6b
     52 # CHECK: p1 = and(p2, or(p3, p3))
     53 0x01 0xc3 0x42 0x6b
     54 # CHECK: p1 = xor(p2, p3)
     55 0xc1 0xc3 0x52 0x6b
     56 # CHECK: p1 = or(p2, and(p3, p3))
     57 0x01 0xc2 0x63 0x6b
     58 # CHECK: p1 = and(p2, !p3)
     59 0xc1 0xc3 0x72 0x6b
     60 # CHECK: p1 = or(p2, or(p3, p3))
     61 0xc1 0xc3 0x92 0x6b
     62 # CHECK: p1 = and(p2, and(p3, !p3))
     63 0xc1 0xc3 0xb2 0x6b
     64 # CHECK: p1 = and(p2, or(p3, !p3))
     65 0x01 0xc0 0xc2 0x6b
     66 # CHECK: p1 = not(p2)
     67 0xc1 0xc3 0xd2 0x6b
     68 # CHECK: p1 = or(p2, and(p3, !p3))
     69 0x01 0xc2 0xe3 0x6b
     70 # CHECK: p1 = or(p2, !p3)
     71 0xc1 0xc3 0xf2 0x6b
     72 # CHECK: p1 = or(p2, or(p3, !p3))
     73 
     74 # User control register transfer
     75 0x0d 0xc0 0x35 0x62
     76 # CHECK: cs1 = r21
     77 0x11 0xc0 0x0d 0x6a
     78 # CHECK: r17 = cs1
     79