mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-10-25 10:27:04 +00:00
Teach AsmPrinter how to print odd constants.
Fix an assertion when the compiler encounters big constants whose bit width is not a multiple of 64-bits. Although clang would never generate something like this, the backend should be able to handle any legal IR. <rdar://problem/13363576> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183544 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
17
test/CodeGen/X86/emit-big-cst.ll
Normal file
17
test/CodeGen/X86/emit-big-cst.ll
Normal file
@@ -0,0 +1,17 @@
|
||||
; RUN: llc -mtriple=x86_64-unknown-unknown < %s | FileCheck %s
|
||||
; Check assembly printing of odd constants.
|
||||
|
||||
; CHECK: bigCst:
|
||||
; CHECK-NEXT: .quad 12713950999227904
|
||||
; CHECK-NEXT: .quad 26220
|
||||
; CHECK-NEXT: .size bigCst, 16
|
||||
|
||||
@bigCst = internal constant i82 483673642326615442599424
|
||||
|
||||
define void @accessBig(i64* %storage) {
|
||||
%addr = bitcast i64* %storage to i82*
|
||||
%bigLoadedCst = load volatile i82* @bigCst
|
||||
%tmp = add i82 %bigLoadedCst, 1
|
||||
store i82 %tmp, i82* %addr
|
||||
ret void
|
||||
}
|
||||
Reference in New Issue
Block a user