A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/intel/vc-intrinsics/commit/b980474c below:

Single element vector fix for opaque pointers · intel/vc-intrinsics@b980474 · GitHub

File tree Expand file treeCollapse file tree 3 files changed

+13

-8

lines changed

Filter options

Expand file treeCollapse file tree 3 files changed

+13

-8

lines changed Original file line number Diff line number Diff line change

@@ -1,6 +1,6 @@

1 1

/*========================== begin_copyright_notice ============================

2 2 3 -

Copyright (C) 2020-2024 Intel Corporation

3 +

Copyright (C) 2020-2025 Intel Corporation

4 4 5 5

SPDX-License-Identifier: MIT

6 6

@@ -192,6 +192,8 @@ Type *SEVUtil::getTypeFreeFromSEV(Type *Ty) {

192 192

// Returns SEV-rich analogue of Type Ty accordingly to the following scheme:

193 193

// U*...**...* ---> <1 x U*...*>*...*

194 194

Type *SEVUtil::getTypeWithSEV(Type *Ty, size_t InnerPointers) {

195 +

if (VCINTR::Type::isOpaquePointerTy(Ty) && InnerPointers > 0)

196 +

return Ty;

195 197

if (auto *VecTy = dyn_cast<VectorType>(Ty)) {

196 198

(void)VecTy;

197 199

assert(InnerPointers == 0);

Original file line number Diff line number Diff line change

@@ -1,6 +1,6 @@

1 1

;=========================== begin_copyright_notice ============================

2 2

;

3 -

; Copyright (C) 2024 Intel Corporation

3 +

; Copyright (C) 2024-2025 Intel Corporation

4 4

;

5 5

; SPDX-License-Identifier: MIT

6 6

;

@@ -9,11 +9,11 @@

9 9

; REQUIRES: opaque-pointers

10 10

; RUN: opt -passes=GenXSPIRVReaderAdaptor -S < %s | FileCheck %s

11 11 12 -

define internal void @foo(ptr "VCSingleElementVector"="0" %v) #0 {

13 -

; CHECK: [[EX:[^ ]+]] = extractelement <1 x ptr> %v, i64 0

14 -

; CHECK-NEXT: [[LD:[^ ]+]] = load i32, ptr [[EX]], align 4

15 -

%ld = load i32, ptr %v, align 4

16 -

ret void

12 +

define internal "VCSingleElementVector"="1" ptr @foo(ptr "VCSingleElementVector"="2" %in, ptr "VCSingleElementVector"="3" %out) #0 {

13 +

; CHECK: store ptr %in, ptr %out, align 8

14 +

; CHECK-NEXT: ret ptr %out

15 +

store ptr %in, ptr %out, align 8

16 +

ret ptr %out

17 17

}

18 18 19 19

define internal "VCSingleElementVector"="0" ptr @bar(ptr "VCSingleElementVector"="0" %in, ptr "VCSingleElementVector"="0" %out) #0 {

Original file line number Diff line number Diff line change

@@ -1,6 +1,6 @@

1 1

;=========================== begin_copyright_notice ============================

2 2

;

3 -

; Copyright (C) 2024 Intel Corporation

3 +

; Copyright (C) 2024-2025 Intel Corporation

4 4

;

5 5

; SPDX-License-Identifier: MIT

6 6

;

@@ -14,9 +14,11 @@

14 14

; CHECK: @global1 = internal global <1 x i32> undef, align 4

15 15

; CHECK: @global2 = internal global <1 x ptr> undef, align 4

16 16

; CHECK: @global3 = external global <1 x ptr>

17 +

; CHECK: @global4 = external global ptr

17 18

@global1 = internal global i32 undef, align 4 #1

18 19

@global2 = internal global ptr undef, align 4 #1

19 20

@global3 = external global ptr #1

21 +

@global4 = external global ptr #2

20 22 21 23

; CHECK: define <1 x i32> @f1(<1 x i32> %a, <1 x i32> %b)

22 24

define "VCSingleElementVector"="0" i32 @f1(i32 "VCSingleElementVector" %a, i32 "VCSingleElementVector" %b) #0 {

@@ -52,3 +54,4 @@ declare void @llvm.genx.intr(ptr)

52 54 53 55

attributes #0 = { "VCFunction" }

54 56

attributes #1 = { "VCGlobalVariable" "VCSingleElementVector"="0" }

57 +

attributes #2 = { "VCGlobalVariable" "VCSingleElementVector"="1" }

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4