44 lines · plain
1; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}3 4; CHECK-LABEL: Begin function original_testcase5define fastcc void @original_testcase() {6top:7 %0 = alloca [1 x ptr], align 48 ; CHECK: OpCompositeInsert9 %1 = insertvalue [1 x ptr] zeroinitializer, ptr poison, 010 store [1 x ptr] %1, ptr %011 ret void12}13 14; CHECK-LABEL: Begin function additional_testcases15define fastcc void @additional_testcases() {16top:17 %0 = alloca [2 x ptr], align 418 19 20 ; Test with different pointer types21 ; CHECK: OpCompositeInsert22 %1 = insertvalue [1 x ptr] zeroinitializer, ptr undef, 023 ; CHECK: OpStore24 store [1 x ptr] %1, ptr %025 26 ; CHECK-NEXT: OpCompositeInsert27 %2 = insertvalue {ptr, i32} zeroinitializer, ptr poison, 028 ; CHECK: OpStore29 store {ptr, i32} %2, ptr %030 31 ; CHECK-NEXT: OpCompositeInsert32 %3 = insertvalue {ptr, ptr} undef, ptr null, 033 ; CHECK: OpStore34 store {ptr, ptr} %3, ptr %035 36 ; Test with undef aggregate37 ; CHECK-NEXT: OpCompositeInsert38 %4 = insertvalue [1 x ptr] undef, ptr undef, 039 ; CHECK: OpStore40 store [1 x ptr] %4, ptr %041 42 ret void43}44