103 lines
2.9 KiB
ArmAsm
103 lines
2.9 KiB
ArmAsm
|
## Test data directives.
|
||
|
# RUN: llvm-mc --triple=loongarch32 < %s \
|
||
|
# RUN: | FileCheck --check-prefix=CHECK-ASM %s
|
||
|
# RUN: llvm-mc --triple=loongarch64 < %s \
|
||
|
# RUN: | FileCheck --check-prefix=CHECK-ASM %s
|
||
|
# RUN: llvm-mc --triple=loongarch32 --filetype=obj < %s | llvm-objdump -s - \
|
||
|
# RUN: | FileCheck --check-prefix=CHECK-DATA %s
|
||
|
# RUN: llvm-mc --triple=loongarch64 --filetype=obj < %s | llvm-objdump -s - \
|
||
|
# RUN: | FileCheck --check-prefix=CHECK-DATA %s
|
||
|
# RUN: not llvm-mc --triple=loongarch32 --defsym=ERR=1 < %s 2>&1 \
|
||
|
# RUN: | FileCheck %s --check-prefix=CHECK-ERR
|
||
|
# RUN: not llvm-mc --triple=loongarch64 --defsym=ERR=1 < %s 2>&1 \
|
||
|
# RUN: | FileCheck %s --check-prefix=CHECK-ERR
|
||
|
|
||
|
.data
|
||
|
|
||
|
# CHECK-ASM: .byte 0
|
||
|
# CHECK-ASM-NEXT: .byte 1
|
||
|
# CHECK-ASM-NEXT: .byte 171
|
||
|
# CHECK-ASM-NEXT: .byte 255
|
||
|
# CHECK-DATA: Contents of section .data:
|
||
|
# CHECK-DATA-NEXT: 0000 0001abff 0100ffff 0100ffff 0100ffff
|
||
|
.byte 0
|
||
|
.byte 1
|
||
|
.byte 0xab
|
||
|
.byte 0xff
|
||
|
|
||
|
# CHECK-ASM: .half 1
|
||
|
# CHECK-ASM-NEXT: .half 65535
|
||
|
.half 0x1
|
||
|
.half 0xffff
|
||
|
|
||
|
# CHECK-ASM: .half 1
|
||
|
# CHECK-ASM-NEXT: .half 65535
|
||
|
.2byte 0x1
|
||
|
.2byte 0xffff
|
||
|
|
||
|
# CHECK-ASM: .half 1
|
||
|
# CHECK-ASM-NEXT: .half 65535
|
||
|
.short 0x1
|
||
|
.short 0xffff
|
||
|
|
||
|
# CHECK-ASM: .half 0
|
||
|
# CHECK-ASM-NEXT: .half 1
|
||
|
# CHECK-ASM-NEXT: .half 4660
|
||
|
# CHECK-ASM-NEXT: .half 65535
|
||
|
# CHECK-DATA-NEXT: 0010 00000100 3412ffff 01000000 ffffffff
|
||
|
.hword 0
|
||
|
.hword 0x1
|
||
|
.hword 0x1234
|
||
|
.hword 0xffff
|
||
|
|
||
|
# CHECK-ASM: .word 1
|
||
|
# CHECK-ASM-NEXT: .word 4294967295
|
||
|
.word 0x1
|
||
|
.word 0xffffffff
|
||
|
|
||
|
# CHECK-ASM: .word 1
|
||
|
# CHECK-ASM-NEXT: .word 4294967295
|
||
|
# CHECK-DATA-NEXT: 0020 01000000 ffffffff 01000000 ffffffff
|
||
|
.long 0x1
|
||
|
.long 0xffffffff
|
||
|
|
||
|
# CHECK-ASM: .word 1
|
||
|
# CHECK-ASM-NEXT: .word 4294967295
|
||
|
.4byte 0x1
|
||
|
.4byte 0xffffffff
|
||
|
|
||
|
# CHECK-ASM: .dword 1
|
||
|
# CHECK-ASM-NEXT: .dword 1234605616436508552
|
||
|
# CHECK-DATA-NEXT: 0030 01000000 00000000 88776655 44332211
|
||
|
.dword 0x1
|
||
|
.dword 0x1122334455667788
|
||
|
|
||
|
# CHECK-ASM: .dword 1
|
||
|
# CHECK-ASM-NEXT: .dword 1234605616436508552
|
||
|
# CHECK-DATA-NEXT: 0040 01000000 00000000 88776655 44332211
|
||
|
.8byte 0x1
|
||
|
.8byte 0x1122334455667788
|
||
|
|
||
|
.ifdef ERR
|
||
|
# CHECK-ERR: :[[#@LINE+1]]:7: error: out of range literal value
|
||
|
.byte 0xffa
|
||
|
# CHECK-ERR: :[[#@LINE+1]]:7: error: out of range literal value
|
||
|
.half 0xffffa
|
||
|
# CHECK-ERR: :[[#@LINE+1]]:8: error: out of range literal value
|
||
|
.short 0xffffa
|
||
|
# CHECK-ERR: :[[#@LINE+1]]:8: error: out of range literal value
|
||
|
.hword 0xffffa
|
||
|
# CHECK-ERR: :[[#@LINE+1]]:8: error: out of range literal value
|
||
|
.2byte 0xffffa
|
||
|
# CHECK-ERR: :[[#@LINE+1]]:7: error: out of range literal value
|
||
|
.word 0xffffffffa
|
||
|
# CHECK-ERR: :[[#@LINE+1]]:7: error: out of range literal value
|
||
|
.long 0xffffffffa
|
||
|
# CHECK-ERR: :[[#@LINE+1]]:8: error: out of range literal value
|
||
|
.4byte 0xffffffffa
|
||
|
# CHECK-ERR: :[[#@LINE+1]]:8: error: literal value out of range for directive
|
||
|
.dword 0xffffffffffffffffa
|
||
|
# CHECK-ERR: :[[#@LINE+1]]:8: error: literal value out of range for directive
|
||
|
.8byte 0xffffffffffffffffa
|
||
|
.endif
|