OLD | NEW |
1 ; RUN: opt -S < %s -expand-getelementptr | llc | FileCheck %s | 1 ; RUN: opt -S < %s -expand-getelementptr | llc | FileCheck %s |
2 | 2 |
3 ; Test simple getelementptr codegen. | 3 ; Test simple getelementptr codegen. |
4 | 4 |
5 target datalayout = "e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64
:64:64-p:32:32:32-v128:32:128-n32-S128" | 5 target datalayout = "e-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64
:64:64-p:32:32:32-v128:32:128-n32-S128" |
6 target triple = "asmjs-unknown-emscripten" | 6 target triple = "asmjs-unknown-emscripten" |
7 | 7 |
8 ; CHECK: function _getelementptr([[VAL_P:\$[a-z_]+]]) { | 8 ; CHECK: function _getelementptr([[VAL_P:\$[a-z_]+]]) { |
9 ; CHECK: [[GEP:\$[a-z_]+]] = (([[GEPINT:\$[a-z_]+]]) + 588)|0; | 9 ; CHECK: [[GEP:\$[a-z_]+]] = (([[GEPINT:\$[a-z_]+]]) + 588)|0; |
10 define i32* @getelementptr([10 x [12 x i32] ]* %p) { | 10 define i32* @getelementptr([10 x [12 x i32] ]* %p) { |
11 %t = getelementptr [10 x [12 x i32]]* %p, i32 1, i32 2, i32 3 | 11 %t = getelementptr [10 x [12 x i32]], [10 x [12 x i32]]* %p, i32 1, i32 2, i32
3 |
12 ret i32* %t | 12 ret i32* %t |
13 } | 13 } |
OLD | NEW |