1## Test data directives. 2# RUN: llvm-mc --triple=loongarch32 < %s \ 3# RUN: | FileCheck --check-prefix=CHECK-ASM %s 4# RUN: llvm-mc --triple=loongarch64 < %s \ 5# RUN: | FileCheck --check-prefix=CHECK-ASM %s 6# RUN: llvm-mc --triple=loongarch32 --filetype=obj < %s | llvm-objdump -s - \ 7# RUN: | FileCheck --check-prefix=CHECK-DATA %s 8# RUN: llvm-mc --triple=loongarch64 --filetype=obj < %s | llvm-objdump -s - \ 9# RUN: | FileCheck --check-prefix=CHECK-DATA %s 10# RUN: not llvm-mc --triple=loongarch32 --defsym=ERR=1 < %s 2>&1 \ 11# RUN: | FileCheck %s --check-prefix=CHECK-ERR 12# RUN: not llvm-mc --triple=loongarch64 --defsym=ERR=1 < %s 2>&1 \ 13# RUN: | FileCheck %s --check-prefix=CHECK-ERR 14 15.data 16 17# CHECK-ASM: .byte 0 18# CHECK-ASM-NEXT: .byte 1 19# CHECK-ASM-NEXT: .byte 171 20# CHECK-ASM-NEXT: .byte 255 21# CHECK-DATA: Contents of section .data: 22# CHECK-DATA-NEXT: 0000 0001abff 0100ffff 0100ffff 0100ffff 23.byte 0 24.byte 1 25.byte 0xab 26.byte 0xff 27 28# CHECK-ASM: .half 1 29# CHECK-ASM-NEXT: .half 65535 30.half 0x1 31.half 0xffff 32 33# CHECK-ASM: .half 1 34# CHECK-ASM-NEXT: .half 65535 35.2byte 0x1 36.2byte 0xffff 37 38# CHECK-ASM: .half 1 39# CHECK-ASM-NEXT: .half 65535 40.short 0x1 41.short 0xffff 42 43# CHECK-ASM: .half 0 44# CHECK-ASM-NEXT: .half 1 45# CHECK-ASM-NEXT: .half 4660 46# CHECK-ASM-NEXT: .half 65535 47# CHECK-DATA-NEXT: 0010 00000100 3412ffff 01000000 ffffffff 48.hword 0 49.hword 0x1 50.hword 0x1234 51.hword 0xffff 52 53# CHECK-ASM: .word 1 54# CHECK-ASM-NEXT: .word 4294967295 55.word 0x1 56.word 0xffffffff 57 58# CHECK-ASM: .word 1 59# CHECK-ASM-NEXT: .word 4294967295 60# CHECK-DATA-NEXT: 0020 01000000 ffffffff 01000000 ffffffff 61.long 0x1 62.long 0xffffffff 63 64# CHECK-ASM: .word 1 65# CHECK-ASM-NEXT: .word 4294967295 66.4byte 0x1 67.4byte 0xffffffff 68 69# CHECK-ASM: .dword 1 70# CHECK-ASM-NEXT: .dword 1234605616436508552 71# CHECK-DATA-NEXT: 0030 01000000 00000000 88776655 44332211 72.dword 0x1 73.dword 0x1122334455667788 74 75# CHECK-ASM: .dword 1 76# CHECK-ASM-NEXT: .dword 1234605616436508552 77# CHECK-DATA-NEXT: 0040 01000000 00000000 88776655 44332211 78.8byte 0x1 79.8byte 0x1122334455667788 80 81.ifdef ERR 82# CHECK-ERR: :[[#@LINE+1]]:7: error: out of range literal value 83.byte 0xffa 84# CHECK-ERR: :[[#@LINE+1]]:7: error: out of range literal value 85.half 0xffffa 86# CHECK-ERR: :[[#@LINE+1]]:8: error: out of range literal value 87.short 0xffffa 88# CHECK-ERR: :[[#@LINE+1]]:8: error: out of range literal value 89.hword 0xffffa 90# CHECK-ERR: :[[#@LINE+1]]:8: error: out of range literal value 91.2byte 0xffffa 92# CHECK-ERR: :[[#@LINE+1]]:7: error: out of range literal value 93.word 0xffffffffa 94# CHECK-ERR: :[[#@LINE+1]]:7: error: out of range literal value 95.long 0xffffffffa 96# CHECK-ERR: :[[#@LINE+1]]:8: error: out of range literal value 97.4byte 0xffffffffa 98# CHECK-ERR: :[[#@LINE+1]]:8: error: literal value out of range for directive 99.dword 0xffffffffffffffffa 100# CHECK-ERR: :[[#@LINE+1]]:8: error: literal value out of range for directive 101.8byte 0xffffffffffffffffa 102.endif 103