Home | History | Annotate | Download | only in NVPTX
      1 ; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
      2 
      3 define void @foo(<2 x i32>* %a) {
      4 ; CHECK: .func foo
      5 ; CHECK: ld.v2.u32
      6 ; CHECK-NEXT: ld.v2.u32
      7 ; CHECK-NEXT: ld.v2.u32
      8 ; CHECK-NEXT: ld.v2.u32
      9 ; CHECK-NEXT: add.s32
     10 ; CHECK-NEXT: add.s32
     11 ; CHECK-NEXT: add.s32
     12 ; CHECK-NEXT: add.s32
     13 ; CHECK-NEXT: add.s32
     14 ; CHECK-NEXT: add.s32
     15   %ptr0 = getelementptr <2 x i32>* %a, i32 0
     16   %val0 = load <2 x i32>* %ptr0
     17   %ptr1 = getelementptr <2 x i32>* %a, i32 1
     18   %val1 = load <2 x i32>* %ptr1
     19   %ptr2 = getelementptr <2 x i32>* %a, i32 2
     20   %val2 = load <2 x i32>* %ptr2
     21   %ptr3 = getelementptr <2 x i32>* %a, i32 3
     22   %val3 = load <2 x i32>* %ptr3
     23 
     24   %t0 = add <2 x i32> %val0, %val1
     25   %t1 = add <2 x i32> %t0, %val2
     26   %t2 = add <2 x i32> %t1, %val3
     27 
     28   store <2 x i32> %t2, <2 x i32>* %a
     29 
     30   ret void
     31 }
     32 
     33