File tree Expand file tree Collapse file tree 3 files changed +9
-13
lines changed
sycl/doc/extensions/experimental/sycl_ext_intel_esimd Expand file tree Collapse file tree 3 files changed +9
-13
lines changed Original file line number Diff line number Diff line change @@ -130,9 +130,8 @@ class LLVM_LIBRARY_VISIBILITY BaseSPIRTargetInfo : public TargetInfo {
130
130
CallingConvCheckResult checkCallingConvention (CallingConv CC) const override {
131
131
return (CC == CC_SpirFunction || CC == CC_OpenCLKernel ||
132
132
// Permit CC_X86RegCall which is used to mark external functions
133
- // with
134
- // explicit simd or structure type arguments to pass them via
135
- // registers.
133
+ // with explicit simd or structure type arguments to pass them via
134
+ // registers.
136
135
CC == CC_X86RegCall)
137
136
? CCCR_OK
138
137
: CCCR_Warning;
@@ -295,7 +294,7 @@ class LLVM_LIBRARY_VISIBILITY WindowsX86_64_SPIR64TargetInfo
295
294
if (CC == CC_X86VectorCall || CC == CC_X86RegCall)
296
295
// Permit CC_X86VectorCall which is used in Microsoft headers
297
296
// Permit CC_X86RegCall which is used to mark external functions with
298
- // explicit simd or structure type arguments to pass them via registers.
297
+ // explicit simd or structure type arguments to pass them via registers.
299
298
return CCCR_OK;
300
299
return (CC == CC_SpirFunction || CC == CC_OpenCLKernel) ? CCCR_OK
301
300
: CCCR_Warning;
Original file line number Diff line number Diff line change @@ -91,7 +91,7 @@ template SYCL_DEVICE C2 __regcall func<C2>(C2 x);
91
91
92
92
// === TEST CASE: multi-level nested structs with one primitive type element at
93
93
// the bottom, and one - at the top. The nested struct at the top is expected to
94
- // get "unwraped " by the compiler evaporating to the single element at the
94
+ // get "unwrapped " by the compiler evaporating to the single element at the
95
95
// bottom.
96
96
97
97
struct A3 { char x; };
@@ -110,10 +110,9 @@ struct C3 { // unwrapped
110
110
template SYCL_DEVICE C3 __regcall func<C3>(C3 x);
111
111
// CHECK-DAG: define weak_odr x86_regcallcc i16 @_Z16__regcall3__funcI2C3ET_S1_(i16 %{{[0-9a-zA-Z_.]+}})
112
112
113
- // === TEST CASE: multi-level nested structs with one primitive type element at
114
- // the bottom, and one - at the top. The nested struct at the top is expected to
115
- // get "unwraped" by the compiler evaporating to the single element at the
116
- // bottom.
113
+ // === TEST CASE: multi-level nested structs with a pointer field at the top
114
+ // level. 1 step-deep unwrapping for a function argument type and no unwrapping
115
+ // for the return type is expected to happen.
117
116
118
117
struct A4 { char x; };
119
118
struct B4 { A4 a; };
Original file line number Diff line number Diff line change @@ -542,7 +542,7 @@ For example, unwrapping `Y` defined as
542
542
struct X { int x; };
543
543
struct Y { X x; };
544
544
```
545
- results in `i32`. Unwrapping `C4` defind as
545
+ results in `i32`. Unwrapping `C4` defined as
546
546
```cpp
547
547
struct A4 { char x; };
548
548
struct B4 { A4 a; };
@@ -564,9 +564,7 @@ the "unwrapped type set".
564
564
* 1-2 bytes - short
565
565
* 3-4 bytes - int
566
566
* 5-8 bytes - array of 2 ints
567
- Floating point types are not merged. Structure field alignment rules can
568
- increase the calculated size compared to simple sum of ` sizeof ` of all the
569
- types. If the total size exceeds 8, then:
567
+ If the total size exceeds 8, then:
570
568
* a source parameter of this type is broken down into multiple parameters
571
569
with types resulted from unwrapping
572
570
* a source return value of this type keeps it (the type)
You can’t perform that action at this time.
0 commit comments