| OLD | NEW |
| 1 ; Show that we know how to translate move (immediate) ARM instruction. | 1 ; Show that we know how to translate move (immediate) ARM instruction. |
| 2 | 2 |
| 3 ; REQUIRES: allow_dump | 3 ; REQUIRES: allow_dump |
| 4 | 4 |
| 5 ; RUN: %p2i --filetype=asm -i %s --target=arm32 \ | 5 ; Compile using standalone assembler. |
| 6 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --args -O2 \ |
| 6 ; RUN: | FileCheck %s --check-prefix=ASM | 7 ; RUN: | FileCheck %s --check-prefix=ASM |
| 7 ; RUN: %p2i --filetype=iasm -i %s --target=arm32 \ | 8 |
| 9 ; Show bytes in assembled standalone code. |
| 10 ; RUN: %p2i --filetype=asm -i %s --target=arm32 --assemble --disassemble \ |
| 11 ; RUN: --args -O2 | FileCheck %s --check-prefix=DIS |
| 12 |
| 13 ; Compile using integrated assembler. |
| 14 ; RUN: %p2i --filetype=iasm -i %s --target=arm32 --args -O2 \ |
| 8 ; RUN: | FileCheck %s --check-prefix=IASM | 15 ; RUN: | FileCheck %s --check-prefix=IASM |
| 9 | 16 |
| 17 ; Show bytes in assembled integrated code. |
| 18 ; RUN: %p2i --filetype=iasm -i %s --target=arm32 --assemble --disassemble \ |
| 19 ; RUN: --args -O2 | FileCheck %s --check-prefix=DIS |
| 20 |
| 10 define internal i32 @Imm1() { | 21 define internal i32 @Imm1() { |
| 11 ret i32 1 | 22 ret i32 1 |
| 12 } | 23 } |
| 13 | 24 |
| 14 ; ASM-LABEL: Imm1: | 25 ; ASM-LABEL: Imm1: |
| 15 ; ASM: mov» r0, #1 | 26 ; ASM: mov r0, #1 |
| 27 |
| 28 ; DIS-LABEL:00000000 <Imm1>: |
| 29 ; DIS-NEXT: 0: e3a00001 |
| 30 |
| 16 ; IASM-LABEL: Imm1: | 31 ; IASM-LABEL: Imm1: |
| 17 ; IASM:».byte 0x1 | 32 ; IASM: .byte 0x1 |
| 18 ; IASM:».byte 0x0 | 33 ; IASM: .byte 0x0 |
| 19 ; IASM:».byte 0xa0 | 34 ; IASM: .byte 0xa0 |
| 20 ; IASM:».byte 0xe3 | 35 ; IASM: .byte 0xe3 |
| 21 | 36 |
| 22 | 37 |
| 23 define internal i32 @rotateFImmAA() { | 38 define internal i32 @rotateFImmAA() { |
| 24 ; immediate = 0x000002a8 = b 0000 0000 0000 0000 0000 0010 1010 1000 | 39 ; immediate = 0x000002a8 = b 0000 0000 0000 0000 0000 0010 1010 1000 |
| 25 ret i32 680 | 40 ret i32 680 |
| 26 } | 41 } |
| 27 | 42 |
| 28 ; ASM-LABEL: rotateFImmAA: | 43 ; ASM-LABEL: rotateFImmAA: |
| 29 ; ASM: mov» r0, #680 | 44 ; ASM: mov r0, #680 |
| 45 |
| 46 ; DIS-LABEL:00000010 <rotateFImmAA>: |
| 47 ; DIS-NEXT: 10: e3a00faa |
| 30 | 48 |
| 31 ; IASM-LABEL: rotateFImmAA: | 49 ; IASM-LABEL: rotateFImmAA: |
| 32 ; IASM:».byte 0xaa | 50 ; IASM: .byte 0xaa |
| 33 ; IASM:».byte 0xf | 51 ; IASM: .byte 0xf |
| 34 ; IASM:».byte 0xa0 | 52 ; IASM: .byte 0xa0 |
| 35 ; IASM:».byte 0xe3 | 53 ; IASM: .byte 0xe3 |
| 36 | 54 |
| 37 define internal i32 @rotateEImmAA() { | 55 define internal i32 @rotateEImmAA() { |
| 38 ; immediate = 0x00000aa0 = b 0000 0000 0000 0000 0000 1010 1010 0000 | 56 ; immediate = 0x00000aa0 = b 0000 0000 0000 0000 0000 1010 1010 0000 |
| 39 ret i32 2720 | 57 ret i32 2720 |
| 40 } | 58 } |
| 41 | 59 |
| 42 ; ASM-LABEL: rotateEImmAA: | 60 ; ASM-LABEL: rotateEImmAA: |
| 43 ; ASM: mov» r0, #2720 | 61 ; ASM: mov r0, #2720 |
| 62 |
| 63 ; DIS-LABEL:00000020 <rotateEImmAA>: |
| 64 ; DIS-NEXT: 20: e3a00eaa |
| 44 | 65 |
| 45 ; IASM-LABEL: rotateEImmAA: | 66 ; IASM-LABEL: rotateEImmAA: |
| 46 ; IASM:».byte 0xaa | 67 ; IASM: .byte 0xaa |
| 47 ; IASM:».byte 0xe | 68 ; IASM: .byte 0xe |
| 48 ; IASM:».byte 0xa0 | 69 ; IASM: .byte 0xa0 |
| 49 ; IASM:».byte 0xe3 | 70 ; IASM: .byte 0xe3 |
| 50 | 71 |
| 51 define internal i32 @rotateDImmAA() { | 72 define internal i32 @rotateDImmAA() { |
| 52 ; immediate = 0x00002a80 = b 0000 0000 0000 0000 0010 1010 1000 0000 | 73 ; immediate = 0x00002a80 = b 0000 0000 0000 0000 0010 1010 1000 0000 |
| 53 ret i32 10880 | 74 ret i32 10880 |
| 54 } | 75 } |
| 55 | 76 |
| 56 ; ASM-LABEL: rotateDImmAA: | 77 ; ASM-LABEL: rotateDImmAA: |
| 57 ; ASM: mov» r0, #10880 | 78 ; ASM: mov r0, #10880 |
| 79 |
| 80 ; DIS-LABEL:00000030 <rotateDImmAA>: |
| 81 ; DIS-NEXT: 30: e3a00daa |
| 58 | 82 |
| 59 ; IASM-LABEL: rotateDImmAA: | 83 ; IASM-LABEL: rotateDImmAA: |
| 60 ; IASM:».byte 0xaa | 84 ; IASM: .byte 0xaa |
| 61 ; IASM:».byte 0xd | 85 ; IASM: .byte 0xd |
| 62 ; IASM:».byte 0xa0 | 86 ; IASM: .byte 0xa0 |
| 63 ; IASM:».byte 0xe3 | 87 ; IASM: .byte 0xe3 |
| 64 | 88 |
| 65 define internal i32 @rotateCImmAA() { | 89 define internal i32 @rotateCImmAA() { |
| 66 ; immediate = 0x0000aa00 = b 0000 0000 0000 0000 1010 1010 0000 0000 | 90 ; immediate = 0x0000aa00 = b 0000 0000 0000 0000 1010 1010 0000 0000 |
| 67 ret i32 43520 | 91 ret i32 43520 |
| 68 } | 92 } |
| 69 | 93 |
| 70 ; ASM-LABEL: rotateCImmAA: | 94 ; ASM-LABEL: rotateCImmAA: |
| 71 ; ASM: mov» r0, #43520 | 95 ; ASM: mov r0, #43520 |
| 96 |
| 97 ; DIS-LABEL:00000040 <rotateCImmAA>: |
| 98 ; DIS-NEXT: 40: e3a00caa |
| 72 | 99 |
| 73 ; IASM-LABEL: rotateCImmAA: | 100 ; IASM-LABEL: rotateCImmAA: |
| 74 ; IASM:».byte 0xaa | 101 ; IASM: .byte 0xaa |
| 75 ; IASM:».byte 0xc | 102 ; IASM: .byte 0xc |
| 76 ; IASM:».byte 0xa0 | 103 ; IASM: .byte 0xa0 |
| 77 ; IASM:».byte 0xe3 | 104 ; IASM: .byte 0xe3 |
| 78 | 105 |
| 79 define internal i32 @rotateBImmAA() { | 106 define internal i32 @rotateBImmAA() { |
| 80 ; immediate = 0x0002a800 = b 0000 0000 0000 0010 1010 1000 0000 0000 | 107 ; immediate = 0x0002a800 = b 0000 0000 0000 0010 1010 1000 0000 0000 |
| 81 ret i32 174080 | 108 ret i32 174080 |
| 82 } | 109 } |
| 83 | 110 |
| 84 ; ASM-LABEL: rotateBImmAA: | 111 ; ASM-LABEL: rotateBImmAA: |
| 85 ; ASM: mov» r0, #174080 | 112 ; ASM: mov r0, #174080 |
| 113 |
| 114 ; DIS-LABEL:00000050 <rotateBImmAA>: |
| 115 ; DIS-NEXT: 50: e3a00baa |
| 86 | 116 |
| 87 ; IASM-LABEL: rotateBImmAA: | 117 ; IASM-LABEL: rotateBImmAA: |
| 88 ; IASM:».byte 0xaa | 118 ; IASM: .byte 0xaa |
| 89 ; IASM:».byte 0xb | 119 ; IASM: .byte 0xb |
| 90 ; IASM:».byte 0xa0 | 120 ; IASM: .byte 0xa0 |
| 91 ; IASM:».byte 0xe3 | 121 ; IASM: .byte 0xe3 |
| 92 | 122 |
| 93 define internal i32 @rotateAImmAA() { | 123 define internal i32 @rotateAImmAA() { |
| 94 ; immediate = 0x000aa000 = b 0000 0000 0000 1010 1010 0000 0000 0000 | 124 ; immediate = 0x000aa000 = b 0000 0000 0000 1010 1010 0000 0000 0000 |
| 95 ret i32 696320 | 125 ret i32 696320 |
| 96 } | 126 } |
| 97 | 127 |
| 98 ; ASM-LABEL: rotateAImmAA: | 128 ; ASM-LABEL: rotateAImmAA: |
| 99 ; ASM: mov» r0, #696320 | 129 ; ASM: mov r0, #696320 |
| 130 |
| 131 ; DIS-LABEL:00000060 <rotateAImmAA>: |
| 132 ; DIS-NEXT: 60: e3a00aaa |
| 100 | 133 |
| 101 ; IASM-LABEL: rotateAImmAA: | 134 ; IASM-LABEL: rotateAImmAA: |
| 102 ; IASM:».byte 0xaa | 135 ; IASM: .byte 0xaa |
| 103 ; IASM:».byte 0xa | 136 ; IASM: .byte 0xa |
| 104 ; IASM:».byte 0xa0 | 137 ; IASM: .byte 0xa0 |
| 105 ; IASM:».byte 0xe3 | 138 ; IASM: .byte 0xe3 |
| 106 | 139 |
| 107 define internal i32 @rotate9ImmAA() { | 140 define internal i32 @rotate9ImmAA() { |
| 108 ; immediate = 0x002a8000 = b 0000 0000 0010 1010 1000 0000 0000 0000 | 141 ; immediate = 0x002a8000 = b 0000 0000 0010 1010 1000 0000 0000 0000 |
| 109 ret i32 2785280 | 142 ret i32 2785280 |
| 110 } | 143 } |
| 111 | 144 |
| 112 ; ASM-LABEL: rotate9ImmAA: | 145 ; ASM-LABEL: rotate9ImmAA: |
| 113 ; ASM: mov» r0, #2785280 | 146 ; ASM: mov r0, #2785280 |
| 147 |
| 148 ; DIS-LABEL:00000070 <rotate9ImmAA>: |
| 149 ; DIS-NEXT: 70: e3a009aa |
| 114 | 150 |
| 115 ; IASM-LABEL: rotate9ImmAA: | 151 ; IASM-LABEL: rotate9ImmAA: |
| 116 ; IASM:».byte 0xaa | 152 ; IASM: .byte 0xaa |
| 117 ; IASM:».byte 0x9 | 153 ; IASM: .byte 0x9 |
| 118 ; IASM:».byte 0xa0 | 154 ; IASM: .byte 0xa0 |
| 119 ; IASM:».byte 0xe3 | 155 ; IASM: .byte 0xe3 |
| 120 | 156 |
| 121 define internal i32 @rotate8ImmAA() { | 157 define internal i32 @rotate8ImmAA() { |
| 122 ; immediate = 0x00aa0000 = b 0000 0000 1010 1010 0000 0000 0000 0000 | 158 ; immediate = 0x00aa0000 = b 0000 0000 1010 1010 0000 0000 0000 0000 |
| 123 ret i32 11141120 | 159 ret i32 11141120 |
| 124 } | 160 } |
| 125 | 161 |
| 126 ; ASM-LABEL: rotate8ImmAA: | 162 ; ASM-LABEL: rotate8ImmAA: |
| 127 ; ASM: mov» r0, #11141120 | 163 ; ASM: mov r0, #11141120 |
| 164 |
| 165 ; DIS-LABEL:00000080 <rotate8ImmAA>: |
| 166 ; DIS-NEXT: 80: e3a008aa |
| 128 | 167 |
| 129 ; IASM-LABEL: rotate8ImmAA: | 168 ; IASM-LABEL: rotate8ImmAA: |
| 130 ; IASM:».byte 0xaa | 169 ; IASM: .byte 0xaa |
| 131 ; IASM:».byte 0x8 | 170 ; IASM: .byte 0x8 |
| 132 ; IASM:».byte 0xa0 | 171 ; IASM: .byte 0xa0 |
| 133 ; IASM:».byte 0xe3 | 172 ; IASM: .byte 0xe3 |
| 134 | 173 |
| 135 define internal i32 @rotate7ImmAA() { | 174 define internal i32 @rotate7ImmAA() { |
| 136 ; immediate = 0x02a80000 = b 0000 0010 1010 1000 0000 0000 0000 0000 | 175 ; immediate = 0x02a80000 = b 0000 0010 1010 1000 0000 0000 0000 0000 |
| 137 ret i32 44564480 | 176 ret i32 44564480 |
| 138 } | 177 } |
| 139 | 178 |
| 140 ; ASM-LABEL: rotate7ImmAA: | 179 ; ASM-LABEL: rotate7ImmAA: |
| 141 ; ASM: »mov» r0, #44564480 | 180 ; ASM: mov r0, #44564480 |
| 181 |
| 182 ; DIS-LABEL:00000090 <rotate7ImmAA>: |
| 183 ; DIS-NEXT: 90: e3a007aa |
| 142 | 184 |
| 143 ; IASM-LABEL: rotate7ImmAA: | 185 ; IASM-LABEL: rotate7ImmAA: |
| 144 ; IASM:».byte 0xaa | 186 ; IASM: .byte 0xaa |
| 145 ; IASM:».byte 0x7 | 187 ; IASM: .byte 0x7 |
| 146 ; IASM:».byte 0xa0 | 188 ; IASM: .byte 0xa0 |
| 147 ; IASM:».byte 0xe3 | 189 ; IASM: .byte 0xe3 |
| 148 | 190 |
| 149 define internal i32 @rotate6ImmAA() { | 191 define internal i32 @rotate6ImmAA() { |
| 150 ; immediate = 0x0aa00000 = b 0000 1010 1010 0000 0000 0000 0000 0000 | 192 ; immediate = 0x0aa00000 = b 0000 1010 1010 0000 0000 0000 0000 0000 |
| 151 ret i32 178257920 | 193 ret i32 178257920 |
| 152 } | 194 } |
| 153 | 195 |
| 154 ; ASM-LABEL: rotate6ImmAA: | 196 ; ASM-LABEL: rotate6ImmAA: |
| 155 ; ASM: »mov» r0, #178257920 | 197 ; ASM: mov r0, #178257920 |
| 198 |
| 199 ; DIS-LABEL:000000a0 <rotate6ImmAA>: |
| 200 ; DIS-NEXT: a0: e3a006aa |
| 156 | 201 |
| 157 ; IASM-LABEL: rotate6ImmAA: | 202 ; IASM-LABEL: rotate6ImmAA: |
| 158 ; IASM:».byte 0xaa | 203 ; IASM: .byte 0xaa |
| 159 ; IASM:».byte 0x6 | 204 ; IASM: .byte 0x6 |
| 160 ; IASM:».byte 0xa0 | 205 ; IASM: .byte 0xa0 |
| 161 ; IASM:».byte 0xe3 | 206 ; IASM: .byte 0xe3 |
| 162 | 207 |
| 163 define internal i32 @rotate5ImmAA() { | 208 define internal i32 @rotate5ImmAA() { |
| 164 ; immediate = 0x2a800000 = b 0010 1010 1000 0000 0000 0000 0000 0000 | 209 ; immediate = 0x2a800000 = b 0010 1010 1000 0000 0000 0000 0000 0000 |
| 165 ret i32 713031680 | 210 ret i32 713031680 |
| 166 } | 211 } |
| 167 | 212 |
| 168 ; ASM-LABEL: rotate5ImmAA: | 213 ; ASM-LABEL: rotate5ImmAA: |
| 169 ; ASM: »mov» r0, #713031680 | 214 ; ASM: mov r0, #713031680 |
| 215 |
| 216 ; DIS-LABEL:000000b0 <rotate5ImmAA>: |
| 217 ; DIS-NEXT: b0: e3a005aa |
| 170 | 218 |
| 171 ; IASM-LABEL: rotate5ImmAA: | 219 ; IASM-LABEL: rotate5ImmAA: |
| 172 ; IASM:».byte 0xaa | 220 ; IASM: .byte 0xaa |
| 173 ; IASM:».byte 0x5 | 221 ; IASM: .byte 0x5 |
| 174 ; IASM:».byte 0xa0 | 222 ; IASM: .byte 0xa0 |
| 175 ; IASM:».byte 0xe3 | 223 ; IASM: .byte 0xe3 |
| 176 | 224 |
| 177 define internal i32 @rotate4ImmAA() { | 225 define internal i32 @rotate4ImmAA() { |
| 178 ; immediate = 0xaa000000 = b 1010 1010 0000 0000 0000 0000 0000 0000 | 226 ; immediate = 0xaa000000 = b 1010 1010 0000 0000 0000 0000 0000 0000 |
| 179 ret i32 2852126720 | 227 ret i32 2852126720 |
| 180 } | 228 } |
| 181 | 229 |
| 182 ; ASM-LABEL: rotate4ImmAA: | 230 ; ASM-LABEL: rotate4ImmAA: |
| 183 ; ASM: mov» r0, #2852126720 | 231 ; ASM: mov r0, #2852126720 |
| 232 |
| 233 ; DIS-LABEL:000000c0 <rotate4ImmAA>: |
| 234 ; DIS-NEXT: c0: e3a004aa |
| 184 | 235 |
| 185 ; IASM-LABEL: rotate4ImmAA: | 236 ; IASM-LABEL: rotate4ImmAA: |
| 186 ; IASM:».byte 0xaa | 237 ; IASM: .byte 0xaa |
| 187 ; IASM:».byte 0x4 | 238 ; IASM: .byte 0x4 |
| 188 ; IASM:».byte 0xa0 | 239 ; IASM: .byte 0xa0 |
| 189 ; IASM:».byte 0xe3 | 240 ; IASM: .byte 0xe3 |
| 190 | 241 |
| 191 define internal i32 @rotate3ImmAA() { | 242 define internal i32 @rotate3ImmAA() { |
| 192 ; immediate = 0xa8000002 = b 1010 1000 0000 0000 0000 0000 0000 0010 | 243 ; immediate = 0xa8000002 = b 1010 1000 0000 0000 0000 0000 0000 0010 |
| 193 ret i32 2818572290 | 244 ret i32 2818572290 |
| 194 } | 245 } |
| 195 | 246 |
| 196 ; ASM-LABEL: rotate3ImmAA: | 247 ; ASM-LABEL: rotate3ImmAA: |
| 197 ; ASM: mov» r0, #2818572290 | 248 ; ASM: mov r0, #2818572290 |
| 249 |
| 250 ; DIS-LABEL:000000d0 <rotate3ImmAA>: |
| 251 ; DIS-NEXT: d0: e3a003aa |
| 198 | 252 |
| 199 ; IASM-LABEL: rotate3ImmAA: | 253 ; IASM-LABEL: rotate3ImmAA: |
| 200 ; IASM:».byte 0xaa | 254 ; IASM: .byte 0xaa |
| 201 ; IASM:».byte 0x3 | 255 ; IASM: .byte 0x3 |
| 202 ; IASM:».byte 0xa0 | 256 ; IASM: .byte 0xa0 |
| 203 ; IASM:».byte 0xe3 | 257 ; IASM: .byte 0xe3 |
| 204 | 258 |
| 205 define internal i32 @rotate2ImmAA() { | 259 define internal i32 @rotate2ImmAA() { |
| 206 ; immediate = 0xa000000a = b 1010 0000 0000 0000 0000 0000 0000 1010 | 260 ; immediate = 0xa000000a = b 1010 0000 0000 0000 0000 0000 0000 1010 |
| 207 ret i32 2684354570 | 261 ret i32 2684354570 |
| 208 } | 262 } |
| 209 | 263 |
| 210 ; ASM-LABEL: rotate2ImmAA: | 264 ; ASM-LABEL: rotate2ImmAA: |
| 211 ; ASM: »mov» r0, #2684354570 | 265 ; ASM: mov r0, #2684354570 |
| 266 |
| 267 ; DIS-LABEL:000000e0 <rotate2ImmAA>: |
| 268 ; DIS-NEXT: e0: e3a002aa |
| 212 | 269 |
| 213 ; IASM-LABEL: rotate2ImmAA: | 270 ; IASM-LABEL: rotate2ImmAA: |
| 214 ; IASM:».byte 0xaa | 271 ; IASM: .byte 0xaa |
| 215 ; IASM:».byte 0x2 | 272 ; IASM: .byte 0x2 |
| 216 ; IASM:».byte 0xa0 | 273 ; IASM: .byte 0xa0 |
| 217 ; IASM:».byte 0xe3 | 274 ; IASM: .byte 0xe3 |
| 218 | 275 |
| 219 define internal i32 @rotate1ImmAA() { | 276 define internal i32 @rotate1ImmAA() { |
| 220 ; immediate = 0x8000002a = b 1000 1000 0000 0000 0000 0000 0010 1010 | 277 ; immediate = 0x8000002a = b 1000 1000 0000 0000 0000 0000 0010 1010 |
| 221 ret i32 2147483690 | 278 ret i32 2147483690 |
| 222 } | 279 } |
| 223 | 280 |
| 224 ; ASM-LABEL: rotate1ImmAA: | 281 ; ASM-LABEL: rotate1ImmAA: |
| 225 ; ASM: mov» r0, #2147483690 | 282 ; ASM: mov r0, #2147483690 |
| 283 |
| 284 ; DIS-LABEL:000000f0 <rotate1ImmAA>: |
| 285 ; DIS-NEXT: f0: e3a001aa |
| 226 | 286 |
| 227 ; IASM-LABEL: rotate1ImmAA: | 287 ; IASM-LABEL: rotate1ImmAA: |
| 228 ; IASM:».byte 0xaa | 288 ; IASM: .byte 0xaa |
| 229 ; IASM:».byte 0x1 | 289 ; IASM: .byte 0x1 |
| 230 ; IASM:».byte 0xa0 | 290 ; IASM: .byte 0xa0 |
| 231 ; IASM:».byte 0xe3 | 291 ; IASM: .byte 0xe3 |
| 232 | 292 |
| 233 define internal i32 @rotate0ImmAA() { | 293 define internal i32 @rotate0ImmAA() { |
| 234 ; immediate = 0x000000aa = b 0000 0000 0000 0000 0000 0000 1010 1010 | 294 ; immediate = 0x000000aa = b 0000 0000 0000 0000 0000 0000 1010 1010 |
| 235 ret i32 170 | 295 ret i32 170 |
| 236 } | 296 } |
| 237 | 297 |
| 238 ; ASM-LABEL: rotate0ImmAA: | 298 ; ASM-LABEL: rotate0ImmAA: |
| 239 ; ASM: mov» r0, #170 | 299 ; ASM: mov r0, #170 |
| 300 |
| 301 ; DIS-LABEL:00000100 <rotate0ImmAA>: |
| 302 ; DIS-NEXT: 100: e3a000aa |
| 240 | 303 |
| 241 ; IASM-LABEL: rotate0ImmAA: | 304 ; IASM-LABEL: rotate0ImmAA: |
| 242 ; IASM:».byte 0xaa | 305 ; IASM: .byte 0xaa |
| 243 ; IASM:».byte 0x0 | 306 ; IASM: .byte 0x0 |
| 244 ; IASM:».byte 0xa0 | 307 ; IASM: .byte 0xa0 |
| 245 ; IASM:».byte 0xe3 | 308 ; IASM: .byte 0xe3 |
| OLD | NEW |