Index: tests_lit/llvm2ice_tests/elf_container.ll |
diff --git a/tests_lit/llvm2ice_tests/elf_container.ll b/tests_lit/llvm2ice_tests/elf_container.ll |
index 3b6f700785f33f945ad3684c152da029d2e4a4be..4f942555eb15bc5a6163410c46e46ab3761ec9ff 100644 |
--- a/tests_lit/llvm2ice_tests/elf_container.ll |
+++ b/tests_lit/llvm2ice_tests/elf_container.ll |
@@ -38,14 +38,15 @@ declare void @llvm.memset.p0i8.i32(i8*, i8, i32, i32, i1) |
; Use float/double constants to test constant pools. |
define internal float @returnFloatConst() { |
entry: |
- %f = fadd float 0x3FF3AE1480000000, 0x3FF3AE1400000000 |
+ %f = fadd float -0.0, 0x3FF3AE1400000000 |
ret float %f |
} |
define internal double @returnDoubleConst() { |
entry: |
- %d = fadd double 1.230000e+00, 3.210000e+00 |
- ret double %d |
+ %d = fadd double 0x7FFFFFFFFFFFFFFFF, 0xFFF7FFFFFFFFFFFF |
+ %d2 = fadd double %d, 0xFFF8000000000003 |
+ ret double %d2 |
} |
define internal void @test_memcpy(i32 %iptr_dst, i32 %len) { |
@@ -141,6 +142,45 @@ define void @_start(i32) { |
; CHECK: } |
; CHECK: Section { |
; CHECK: Index: {{[1-9][0-9]*}} |
+; CHECK: Name: .rodata.cst4 |
+; CHECK: Type: SHT_PROGBITS |
+; CHECK: Flags [ (0x12) |
+; CHECK: SHF_ALLOC |
+; CHECK: SHF_MERGE |
+; CHECK: ] |
+; CHECK: Address: 0x0 |
+; CHECK: Offset: 0x{{[1-9A-F][0-9A-F]*}} |
+; CHECK: Size: 8 |
+; CHECK: Link: 0 |
+; CHECK: Info: 0 |
+; CHECK: AddressAlignment: 4 |
+; CHECK: EntrySize: 4 |
+; CHECK: SectionData ( |
+; CHECK: 0000: A0709D3F 00000080 |
+; CHECK: ) |
+; CHECK: } |
+; CHECK: Section { |
+; CHECK: Index: {{[1-9][0-9]*}} |
+; CHECK: Name: .rodata.cst8 |
+; CHECK: Type: SHT_PROGBITS |
+; CHECK: Flags [ (0x12) |
+; CHECK: SHF_ALLOC |
+; CHECK: SHF_MERGE |
+; CHECK: ] |
+; CHECK: Address: 0x0 |
+; CHECK: Offset: 0x{{[1-9A-F][0-9A-F]*}} |
+; CHECK: Size: 24 |
+; CHECK: Link: 0 |
+; CHECK: Info: 0 |
+; CHECK: AddressAlignment: 8 |
+; CHECK: EntrySize: 8 |
+; CHECK: SectionData ( |
+; CHECK: 0000: 03000000 0000F8FF FFFFFFFF FFFFF7FF |
+; CHECK: 0010: FFFFFFFF FFFFFFFF |
+; CHECK: ) |
+; CHECK: } |
+; CHECK: Section { |
+; CHECK: Index: {{[1-9][0-9]*}} |
; CHECK: Name: .shstrtab |
; CHECK: Type: SHT_STRTAB |
; CHECK: Flags [ (0x0) |
@@ -203,6 +243,42 @@ define void @_start(i32) { |
; CHECK-NEXT: } |
; TODO: fill in the data symbols. |
; CHECK: Symbol { |
+; CHECK: Name: .L$double$0 |
+; CHECK-NEXT: Value: 0x10 |
+; CHECK-NEXT: Size: 0 |
+; CHECK-NEXT: Binding: Local (0x0) |
+; CHECK-NEXT: Type: None (0x0) |
+; CHECK-NEXT: Other: 0 |
+; CHECK-NEXT: Section: .rodata.cst8 |
+; CHECK-NEXT: } |
+; CHECK: Symbol { |
+; CHECK: Name: .L$double$2 |
+; CHECK-NEXT: Value: 0x0 |
+; CHECK-NEXT: Size: 0 |
+; CHECK-NEXT: Binding: Local (0x0) |
+; CHECK-NEXT: Type: None (0x0) |
+; CHECK-NEXT: Other: 0 |
+; CHECK-NEXT: Section: .rodata.cst8 |
+; CHECK-NEXT: } |
+; CHECK: Symbol { |
+; CHECK: Name: .L$float$0 |
+; CHECK-NEXT: Value: 0x4 |
+; CHECK-NEXT: Size: 0 |
+; CHECK-NEXT: Binding: Local (0x0) |
+; CHECK-NEXT: Type: None (0x0) |
+; CHECK-NEXT: Other: 0 |
+; CHECK-NEXT: Section: .rodata.cst4 |
+; CHECK-NEXT: } |
+; CHECK: Symbol { |
+; CHECK: Name: .L$float$1 |
+; CHECK-NEXT: Value: 0x0 |
+; CHECK-NEXT: Size: 0 |
+; CHECK-NEXT: Binding: Local (0x0) |
+; CHECK-NEXT: Type: None (0x0) |
+; CHECK-NEXT: Other: 0 |
+; CHECK-NEXT: Section: .rodata.cst4 |
+; CHECK-NEXT: } |
+; CHECK: Symbol { |
; CHECK: Name: returnDoubleConst |
; CHECK-NEXT: Value: 0x{{[1-9A-F][0-9A-F]*}} |
; CHECK-NEXT: Size: 0 |