emit-big-cst.ll
1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
; RUN: llc -march=mips < %s | FileCheck %s --check-prefix=BE
; RUN: llc -march=mipsel < %s | FileCheck %s --check-prefix=LE
; Check assembly printing of odd constants.
; BE-LABEL: bigCst:
; BE-NEXT: .8byte 28829195638097253
; BE-NEXT: .2byte 46
; BE-NEXT: .byte 0
; BE-NEXT: .space 5
; BE-NEXT: .size bigCst, 16
; LE-LABEL: bigCst:
; LE-NEXT: .8byte 12713950999227904
; LE-NEXT: .2byte 26220
; LE-NEXT: .byte 0
; LE-NEXT: .space 5
; LE-NEXT: .size bigCst, 16
; BE-LABEL: notSoBigCst:
; BE-NEXT: .8byte 72057594037927935
; BE-NEXT: .size notSoBigCst, 8
; LE-LABEL: notSoBigCst:
; LE-NEXT: .8byte 72057594037927935
; LE-NEXT: .size notSoBigCst, 8
; BE-LABEL: smallCst:
; BE-NEXT: .2byte 4386
; BE-NEXT: .byte 51
; BE-NEXT: .space 1
; BE-NEXT: .size smallCst, 4
; LE-LABEL: smallCst:
; LE-NEXT: .2byte 8755
; LE-NEXT: .byte 17
; LE-NEXT: .space 1
; LE-NEXT: .size smallCst, 4
@bigCst = internal constant i82 483673642326615442599424
define void @accessBig(i64* %storage) {
%addr = bitcast i64* %storage to i82*
%bigLoadedCst = load volatile i82, i82* @bigCst
%tmp = add i82 %bigLoadedCst, 1
store i82 %tmp, i82* %addr
ret void
}
@notSoBigCst = internal constant i57 72057594037927935
define void @accessNotSoBig(i64* %storage) {
%addr = bitcast i64* %storage to i57*
%bigLoadedCst = load volatile i57, i57* @notSoBigCst
%tmp = add i57 %bigLoadedCst, 1
store i57 %tmp, i57* %addr
ret void
}
@smallCst = internal constant i24 1122867