cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

check_lsr.s (3308B)


      1# mach: crisv0 crisv3 crisv8 crisv10 crisv32
      2# output: ffffffff\n1\n1\n1ffff\n5a67f\n1\n0\n0\n3699fc67\nffffffff\n1\n1\n1ffff\n5a67f\nda670000\nda670000\nda670000\nda673c67\nffffffff\nffff7fff\n1\nffff0000\nffff0001\n5a67000f\nda67f100\nda67f100\nda67f100\nda67f127\nffffffff\nffffff7f\n1\nffffff00\nffffff00\nffffff01\n5a67f100\n5a67f109\n
      3
      4 .include "testutils.inc"
      5 start
      6 moveq -1,r3
      7 lsrq 0,r3
      8 test_move_cc 1 0 0 0
      9 checkr3 ffffffff
     10
     11 moveq 2,r3
     12 lsrq 1,r3
     13 test_move_cc 0 0 0 0
     14 checkr3 1
     15
     16 moveq -1,r3
     17 lsrq 31,r3
     18 test_move_cc 0 0 0 0
     19 checkr3 1
     20
     21 moveq -1,r3
     22 lsrq 15,r3
     23 test_move_cc 0 0 0 0
     24 checkr3 1ffff
     25
     26 move.d 0x5a67f19f,r3
     27 lsrq 12,r3
     28 test_move_cc 0 0 0 0
     29 checkr3 5a67f
     30
     31 move.d 0xda67f19f,r3
     32 move.d 31,r4
     33 lsr.d r4,r3
     34 test_move_cc 0 0 0 0
     35 checkr3 1
     36
     37 move.d 0xda67f19f,r3
     38 move.d 32,r4
     39 lsr.d r4,r3
     40 test_move_cc 0 1 0 0
     41 checkr3 0
     42
     43 move.d 0xda67f19f,r3
     44 move.d 33,r4
     45 lsr.d r4,r3
     46 test_move_cc 0 1 0 0
     47 checkr3 0
     48
     49 move.d 0xda67f19f,r3
     50 move.d 66,r4
     51 lsr.d r4,r3
     52 test_move_cc 0 0 0 0
     53 checkr3 3699fc67
     54
     55 moveq -1,r3
     56 moveq 0,r4
     57 lsr.d r4,r3
     58 test_move_cc 1 0 0 0
     59 checkr3 ffffffff
     60
     61 moveq 2,r3
     62 moveq 1,r4
     63 lsr.d r4,r3
     64 test_move_cc 0 0 0 0
     65 checkr3 1
     66
     67 moveq -1,r3
     68 moveq 31,r4
     69 lsr.d r4,r3
     70 test_move_cc 0 0 0 0
     71 checkr3 1
     72
     73 moveq -1,r3
     74 moveq 15,r4
     75 lsr.d r4,r3
     76 test_move_cc 0 0 0 0
     77 checkr3 1ffff
     78
     79 move.d 0x5a67f19f,r3
     80 moveq 12,r4
     81 lsr.d r4,r3
     82 test_move_cc 0 0 0 0
     83 checkr3 5a67f
     84
     85 move.d 0xda67f19f,r3
     86 move.d 31,r4
     87 lsr.w r4,r3
     88 test_move_cc 0 1 0 0
     89 checkr3 da670000
     90
     91 move.d 0xda67f19f,r3
     92 move.d 32,r4
     93 lsr.w r4,r3
     94 test_move_cc 0 1 0 0
     95 checkr3 da670000
     96
     97 move.d 0xda67f19f,r3
     98 move.d 33,r4
     99 lsr.w r4,r3
    100 test_move_cc 0 1 0 0
    101 checkr3 da670000
    102
    103 move.d 0xda67f19f,r3
    104 move.d 66,r4
    105 lsr.w r4,r3
    106 test_move_cc 0 0 0 0
    107 checkr3 da673c67
    108
    109 moveq -1,r3
    110 moveq 0,r4
    111 lsr.w r4,r3
    112 test_move_cc 1 0 0 0
    113 checkr3 ffffffff
    114
    115 moveq -1,r3
    116 moveq 1,r4
    117 lsr.w r4,r3
    118 test_move_cc 0 0 0 0
    119 checkr3 ffff7fff
    120
    121 moveq 2,r3
    122 moveq 1,r4
    123 lsr.w r4,r3
    124 test_move_cc 0 0 0 0
    125 checkr3 1
    126
    127;; FIXME: this was wrong. Z should be set.
    128 moveq -1,r3
    129 moveq 31,r4
    130 lsr.w r4,r3
    131 test_move_cc 0 1 0 0
    132 checkr3 ffff0000
    133
    134 moveq -1,r3
    135 moveq 15,r4
    136 lsr.w r4,r3
    137 test_move_cc 0 0 0 0
    138 checkr3 ffff0001
    139
    140 move.d 0x5a67f19f,r3
    141 moveq 12,r4
    142 lsr.w r4,r3
    143 test_move_cc 0 0 0 0
    144 checkr3 5a67000f
    145
    146 move.d 0xda67f19f,r3
    147 move.d 31,r4
    148 lsr.b r4,r3
    149 test_move_cc 0 1 0 0
    150 checkr3 da67f100
    151
    152 move.d 0xda67f19f,r3
    153 move.d 32,r4
    154 lsr.b r4,r3
    155 test_move_cc 0 1 0 0
    156 checkr3 da67f100
    157
    158 move.d 0xda67f19f,r3
    159 move.d 33,r4
    160 lsr.b r4,r3
    161 test_move_cc 0 1 0 0
    162 checkr3 da67f100
    163
    164 move.d 0xda67f19f,r3
    165 move.d 66,r4
    166 lsr.b r4,r3
    167 test_move_cc 0 0 0 0
    168 checkr3 da67f127
    169
    170 moveq -1,r3
    171 moveq 0,r4
    172 lsr.b r4,r3
    173 test_move_cc 1 0 0 0
    174 checkr3 ffffffff
    175
    176 moveq -1,r3
    177 moveq 1,r4
    178 lsr.b r4,r3
    179 test_move_cc 0 0 0 0
    180 checkr3 ffffff7f
    181
    182 moveq 2,r3
    183 moveq 1,r4
    184 lsr.b r4,r3
    185 test_move_cc 0 0 0 0
    186 checkr3 1
    187
    188 moveq -1,r3
    189 moveq 31,r4
    190 lsr.b r4,r3
    191 test_move_cc 0 1 0 0
    192 checkr3 ffffff00
    193
    194 moveq -1,r3
    195 moveq 15,r4
    196 lsr.b r4,r3
    197 test_move_cc 0 1 0 0
    198 checkr3 ffffff00
    199
    200 moveq -1,r3
    201 moveq 7,r4
    202 lsr.b r4,r3
    203 test_move_cc 0 0 0 0
    204 checkr3 ffffff01
    205
    206 move.d 0x5a67f19f,r3
    207 moveq 12,r4
    208 lsr.b r4,r3
    209 test_move_cc 0 1 0 0
    210 checkr3 5a67f100
    211
    212 move.d 0x5a67f19f,r3
    213 moveq 4,r4
    214 lsr.b r4,r3
    215 test_move_cc 0 0 0 0
    216 checkr3 5a67f109
    217
    218 quit