mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
482cfa14e2
Add disassembly support for the movw, adiw, and sbiw instructions. I had previously committed test cases for the adiw and sbiw instructions, but had accidentally made them not runnable so they were skipped all this time. Oops. This patch fixes that by adding support for disassembling those instructions. Differential Revision: https://reviews.llvm.org/D82093
50 lines
1.4 KiB
ArmAsm
50 lines
1.4 KiB
ArmAsm
; RUN: llvm-mc -triple avr -mattr=addsubiw -show-encoding < %s | FileCheck %s
|
|
; RUN: llvm-mc -filetype=obj -triple avr -mattr=addsubiw < %s | llvm-objdump -dr --mattr=addsubiw - | FileCheck --check-prefix=CHECK-INST %s
|
|
|
|
|
|
foo:
|
|
|
|
adiw r26, 12
|
|
adiw r26, 63
|
|
|
|
adiw r28, 17
|
|
adiw r28, 0
|
|
|
|
adiw r30, 3
|
|
adiw r30, 63
|
|
adiw r24, 63
|
|
adiw r24, 0
|
|
adiw r30, 0
|
|
|
|
adiw r24, SYMBOL
|
|
|
|
; CHECK: adiw r26, 12 ; encoding: [0x1c,0x96]
|
|
; CHECK: adiw r26, 63 ; encoding: [0xdf,0x96]
|
|
|
|
; CHECK: adiw r28, 17 ; encoding: [0x61,0x96]
|
|
; CHECK: adiw r28, 0 ; encoding: [0x20,0x96]
|
|
|
|
; CHECK: adiw r30, 3 ; encoding: [0x33,0x96]
|
|
; CHECK: adiw r30, 63 ; encoding: [0xff,0x96]
|
|
; CHECK: adiw r24, 63 ; encoding: [0xcf,0x96]
|
|
; CHECK: adiw r24, 0 ; encoding: [0x00,0x96]
|
|
; CHECK: adiw r30, 0 ; encoding: [0x30,0x96]
|
|
|
|
; CHECK: adiw r24, SYMBOL ; encoding: [0b00AAAAAA,0x96]
|
|
; fixup A - offset: 0, value: SYMBOL, kind: fixup_6_adiw
|
|
|
|
; CHECK-INST: adiw r26, 12
|
|
; CHECK-INST: adiw r26, 63
|
|
|
|
; CHECK-INST: adiw r28, 17
|
|
; CHECK-INST: adiw r28, 0
|
|
|
|
; CHECK-INST: adiw r30, 3
|
|
; CHECK-INST: adiw r30, 63
|
|
; CHECK-INST: adiw r24, 63
|
|
; CHECK-INST: adiw r24, 0
|
|
; CHECK-INST: adiw r30, 0
|
|
|
|
; CHECK-INST: adiw r24, 0
|
|
; CHECK-INST: R_AVR_6_ADIW SYMBOL
|