xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/2007-07-18-Vector-Extract.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-linux -mattr=+sse | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-win32 -mattr=+sse | FileCheck %s
3*9880d681SAndroid Build Coastguard Worker; CHECK: movq ([[A0:%rdi|%rcx]]), %rax
4*9880d681SAndroid Build Coastguard Worker; CHECK: movq 8([[A0]]), %rax
5*9880d681SAndroid Build Coastguard Workerdefine i64 @foo_0(<2 x i64>* %val) {
6*9880d681SAndroid Build Coastguard Workerentry:
7*9880d681SAndroid Build Coastguard Worker        %val12 = getelementptr <2 x i64>, <2 x i64>* %val, i32 0, i32 0            ; <i64*> [#uses=1]
8*9880d681SAndroid Build Coastguard Worker        %tmp7 = load i64, i64* %val12                ; <i64> [#uses=1]
9*9880d681SAndroid Build Coastguard Worker        ret i64 %tmp7
10*9880d681SAndroid Build Coastguard Worker}
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Workerdefine i64 @foo_1(<2 x i64>* %val) {
13*9880d681SAndroid Build Coastguard Workerentry:
14*9880d681SAndroid Build Coastguard Worker        %tmp2.gep = getelementptr <2 x i64>, <2 x i64>* %val, i32 0, i32 1         ; <i64*> [#uses=1]
15*9880d681SAndroid Build Coastguard Worker        %tmp4 = load i64, i64* %tmp2.gep             ; <i64> [#uses=1]
16*9880d681SAndroid Build Coastguard Worker        ret i64 %tmp4
17*9880d681SAndroid Build Coastguard Worker}
18