The current (and default) backend on z/OS is EBCDIC. This patch updates the default backend to be ASCII, which is beneficial when porting new languages. With this change, ASCII is the default when no special metadata nodes (such as `zos_le_char_mode`) are present.
41 lines
1.3 KiB
LLVM
41 lines
1.3 KiB
LLVM
; RUN: sed -e 's/!"MODE"/!"ascii"/' -e 's/BYTE/133/' %s > %t.ascii.ll
|
|
; RUN: llc -mtriple s390x-ibm-zos -mcpu=z15 -asm-verbose=true < %t.ascii.ll | \
|
|
; RUN: FileCheck %t.ascii.ll
|
|
|
|
; RUN: sed -e 's/!"MODE"/!"ebcdic"/' -e 's/BYTE/129/' %s > %t.ebcdic.ll
|
|
; RUN: llc -mtriple s390x-ibm-zos -mcpu=z15 -asm-verbose=true < %t.ebcdic.ll | \
|
|
; RUN: FileCheck %t.ebcdic.ll
|
|
|
|
; CHECK: C_CODE64 CATTR
|
|
; CHECK: L#PPA2:
|
|
; CHECK: .byte 3
|
|
; CHECK: .byte 231
|
|
; CHECK: .byte 34
|
|
; CHECK: .byte 4
|
|
; CHECK: .long CELQSTRT-L#PPA2
|
|
; CHECK: .long 0
|
|
; CHECK: .long L#DVS-L#PPA2
|
|
; CHECK: .long 0
|
|
; CHECK: .byte BYTE
|
|
; CHECK: .byte 0
|
|
; CHECK: .short 0
|
|
; CHECK: L#DVS:
|
|
; CHECK: .ascii "\361\371\367\360\360\361\360\361\360\360\360\360\360\360"
|
|
; CHECK: .short 0
|
|
; CHECK: .quad L#PPA2-CELQSTRT * A(PPA2-CELQSTRT)
|
|
; CHECK: L#PPA1_void_test_0:
|
|
; CHECK: .long L#PPA2-L#PPA1_void_test_0 * Offset to PPA2
|
|
; CHECK: B_IDRL CATTR
|
|
; CHECK: .byte 0
|
|
; CHECK: .byte 3
|
|
; CHECK: .short 30
|
|
; CHECK: .ascii "\323\323\345\324@@@@@@{{((\\3[0-7]{2}){4})}}\361\371\367\360\360\361\360\361\360\360\360\360\360\360\360\360"
|
|
|
|
!llvm.module.flags = !{!0}
|
|
!0 = !{i32 1, !"zos_le_char_mode", !"MODE"}
|
|
|
|
define void @void_test() {
|
|
entry:
|
|
ret void
|
|
}
|