[mips] [IAS] Slightly improve shift instruction generation in expandLoadImm.
[oota-llvm.git] / test / MC / ELF / offset.s
index bc4252c1a78d16ef172119eb7d6149ac00fb5c70..f44833299490b9742dae3efa2f3f8c6f79dfd221 100644 (file)
@@ -5,6 +5,7 @@
 
         .data
         .globl sym_a
+        .size sym_a, 42
         .byte 42
         .type sym_a, @object
 sym_a:
@@ -12,7 +13,7 @@ sym_a:
 // CHECK:       Symbol {
 // CHECK:         Name: sym_a
 // CHECK-NEXT:    Value: 0x1
-// CHECK-NEXT:    Size: 0
+// CHECK-NEXT:    Size: 42
 // CHECK-NEXT:    Binding: Global
 // CHECK-NEXT:    Type: Object
 // CHECK-NEXT:    Other: 0
@@ -27,7 +28,7 @@ sym_c = sym_a
 // CHECK:       Symbol {
 // CHECK:         Name: sym_c
 // CHECK-NEXT:    Value: 0x1
-// CHECK-NEXT:    Size: 0
+// CHECK-NEXT:    Size: 42
 // CHECK-NEXT:    Binding: Global
 // CHECK-NEXT:    Type: Object
 // CHECK-NEXT:    Other: 0
@@ -39,7 +40,7 @@ sym_d = sym_a + 1
 // CHECK:       Symbol {
 // CHECK:         Name: sym_d
 // CHECK-NEXT:    Value: 0x2
-// CHECK-NEXT:    Size: 0
+// CHECK-NEXT:    Size: 42
 // CHECK-NEXT:    Binding: Global
 // CHECK-NEXT:    Type: Object
 // CHECK-NEXT:    Other: 0
@@ -51,7 +52,7 @@ sym_e = sym_a + (sym_b - sym_a) * 3
 // CHECK:       Symbol {
 // CHECK:         Name: sym_e
 // CHECK-NEXT:    Value: 0xD
-// CHECK-NEXT:    Size: 0
+// CHECK-NEXT:    Size: 42
 // CHECK-NEXT:    Binding: Global
 // CHECK-NEXT:    Type: Object
 // CHECK-NEXT:    Other: 0
@@ -64,9 +65,68 @@ sym_f = sym_a + (1 - 1)
 // CHECK:       Symbol {
 // CHECK:         Name: sym_f
 // CHECK-NEXT:    Value: 0x1
-// CHECK-NEXT:    Size: 0
+// CHECK-NEXT:    Size: 42
 // CHECK-NEXT:    Binding: Global
 // CHECK-NEXT:    Type: Object
 // CHECK-NEXT:    Other: 0
 // CHECK-NEXT:    Section: .data
 // CHECK-NEXT:  }
+
+
+        .globl test2_a
+        .globl test2_b
+        .globl test2_c
+        .globl test2_d
+        .globl test2_e
+test2_a:
+    .long 0
+test2_b = test2_a
+test2_c:
+    .long 0
+test2_d = test2_c
+test2_e = test2_d - test2_b
+// CHECK:      Symbol {
+// CHECK:        Name: test2_a
+// CHECK-NEXT:   Value: 0x5
+// CHECK-NEXT:   Size: 0
+// CHECK-NEXT:   Binding: Global
+// CHECK-NEXT:   Type: None
+// CHECK-NEXT:   Other: 0
+// CHECK-NEXT:   Section: .data
+// CHECK-NEXT: }
+// CHECK-NEXT: Symbol {
+// CHECK-NEXT:   Name: test2_b
+// CHECK-NEXT:   Value: 0x5
+// CHECK-NEXT:   Size: 0
+// CHECK-NEXT:   Binding: Global
+// CHECK-NEXT:   Type: None
+// CHECK-NEXT:   Other: 0
+// CHECK-NEXT:   Section: .data
+// CHECK-NEXT: }
+// CHECK-NEXT: Symbol {
+// CHECK-NEXT:   Name: test2_c
+// CHECK-NEXT:   Value: 0x9
+// CHECK-NEXT:   Size: 0
+// CHECK-NEXT:   Binding: Global
+// CHECK-NEXT:   Type: None
+// CHECK-NEXT:   Other: 0
+// CHECK-NEXT:   Section: .data
+// CHECK-NEXT: }
+// CHECK-NEXT: Symbol {
+// CHECK-NEXT:   Name: test2_d
+// CHECK-NEXT:   Value: 0x9
+// CHECK-NEXT:   Size: 0
+// CHECK-NEXT:   Binding: Global
+// CHECK-NEXT:   Type: None
+// CHECK-NEXT:   Other: 0
+// CHECK-NEXT:   Section: .data
+// CHECK-NEXT: }
+// CHECK-NEXT: Symbol {
+// CHECK-NEXT:   Name: test2_e
+// CHECK-NEXT:   Value: 0x4
+// CHECK-NEXT:   Size: 0
+// CHECK-NEXT:   Binding: Global
+// CHECK-NEXT:   Type: None
+// CHECK-NEXT:   Other: 0
+// CHECK-NEXT:   Section: Absolute
+// CHECK-NEXT: }