tint/reader/spirv: Generate 'i' suffixed literals

For all i32 literal values.

Reduces risk of the SPIR-V reader producing WGSL that behaves
differently, when abstract-integers are fully implemented.

Bug: tint:1504
Change-Id: Ieaf8afec5b09c7978c75a38c6ed144633ddc017e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88843
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
This commit is contained in:
Ben Clayton
2022-05-04 22:25:19 +00:00
committed by Dawn LUCI CQ
parent 8822e2966a
commit 06496d4d1a
34 changed files with 593 additions and 586 deletions

View File

@@ -1,6 +1,6 @@
fn main_1() {
var m : mat3x3<f32> = mat3x3<f32>();
let x_15 : vec3<f32> = m[1];
let x_15 : vec3<f32> = m[1i];
let x_16 : f32 = x_15.y;
return;
}

View File

@@ -22,11 +22,11 @@ struct S {
fn f_1() {
let x_19 : Arr_2 = s.a;
let x_24 : Arr_1 = s.a[3].el;
let x_28 : Arr = s.a[3].el[2];
let x_32 : f32 = s.a[3].el[2][1].el;
let x_24 : Arr_1 = s.a[3i].el;
let x_28 : Arr = s.a[3i].el[2i];
let x_32 : f32 = s.a[3i].el[2i][1i].el;
s.a = array<strided_arr_1, 4u>();
s.a[3].el[2][1].el = 5.0;
s.a[3i].el[2i][1i].el = 5.0;
return;
}

View File

@@ -36,7 +36,7 @@ fn main_1() {
let x_21 : vec4<f32> = q;
p = vec3<f32>(x_21.x, x_21.y, x_21.z);
let x_27 : f32 = p.x;
let x_41 : f32 = x_14.test[0].el;
let x_41 : f32 = x_14.test[0i].el;
let x_45 : f32 = position.y;
let x_49 : f32 = x_14.time;
p.x = (x_27 + sin(((x_41 * x_45) + x_49)));

View File

@@ -33,20 +33,20 @@ fn test_int_S1_c0_b() -> bool {
ok = true;
x_41_phi = false;
if (true) {
x_40 = all(((vec4<i32>(0, 0, 0, 0) / vec4<i32>(x_27, x_27, x_27, x_27)) == vec4<i32>(0, 0, 0, 0)));
x_40 = all(((vec4<i32>(0i, 0i, 0i, 0i) / vec4<i32>(x_27, x_27, x_27, x_27)) == vec4<i32>(0i, 0i, 0i, 0i)));
x_41_phi = x_40;
}
let x_41 : bool = x_41_phi;
ok = x_41;
let x_44 : vec4<i32> = vec4<i32>(x_27, x_27, x_27, x_27);
val = x_44;
let x_47 : vec4<i32> = (x_44 + vec4<i32>(1, 1, 1, 1));
let x_47 : vec4<i32> = (x_44 + vec4<i32>(1i, 1i, 1i, 1i));
val = x_47;
let x_48 : vec4<i32> = (x_47 - vec4<i32>(1, 1, 1, 1));
let x_48 : vec4<i32> = (x_47 - vec4<i32>(1i, 1i, 1i, 1i));
val = x_48;
let x_49 : vec4<i32> = (x_48 + vec4<i32>(1, 1, 1, 1));
let x_49 : vec4<i32> = (x_48 + vec4<i32>(1i, 1i, 1i, 1i));
val = x_49;
let x_50 : vec4<i32> = (x_49 - vec4<i32>(1, 1, 1, 1));
let x_50 : vec4<i32> = (x_49 - vec4<i32>(1i, 1i, 1i, 1i));
val = x_50;
x_55_phi = false;
if (x_41) {
@@ -55,13 +55,13 @@ fn test_int_S1_c0_b() -> bool {
}
let x_55 : bool = x_55_phi;
ok = x_55;
let x_58 : vec4<i32> = (x_50 * vec4<i32>(2, 2, 2, 2));
let x_58 : vec4<i32> = (x_50 * vec4<i32>(2i, 2i, 2i, 2i));
val = x_58;
let x_59 : vec4<i32> = (x_58 / vec4<i32>(2, 2, 2, 2));
let x_59 : vec4<i32> = (x_58 / vec4<i32>(2i, 2i, 2i, 2i));
val = x_59;
let x_60 : vec4<i32> = (x_59 * vec4<i32>(2, 2, 2, 2));
let x_60 : vec4<i32> = (x_59 * vec4<i32>(2i, 2i, 2i, 2i));
val = x_60;
let x_61 : vec4<i32> = (x_60 / vec4<i32>(2, 2, 2, 2));
let x_61 : vec4<i32> = (x_60 / vec4<i32>(2i, 2i, 2i, 2i));
val = x_61;
x_66_phi = false;
if (x_55) {

View File

@@ -4,12 +4,12 @@
fn main_1() {
var srcValue : vec4<u32>;
let x_18 : vec4<u32> = textureLoad(Src, vec2<i32>(0, 0), 0);
let x_18 : vec4<u32> = textureLoad(Src, vec2<i32>(0i, 0i), 0i);
srcValue = x_18;
let x_22 : u32 = srcValue.x;
srcValue.x = (x_22 + bitcast<u32>(1));
srcValue.x = (x_22 + bitcast<u32>(1i));
let x_27 : vec4<u32> = srcValue;
textureStore(Dst, vec2<i32>(0, 0), x_27);
textureStore(Dst, vec2<i32>(0i, 0i), x_27);
return;
}

File diff suppressed because it is too large Load Diff

View File

@@ -16,12 +16,12 @@ struct x_B4_BuildInformation {
fn main_1() {
var orientation : array<i32, 6u>;
let x_23 : Arr = sspp962805860buildInformation.passthru.orientation;
orientation[0] = x_23[0u];
orientation[1] = x_23[1u];
orientation[2] = x_23[2u];
orientation[3] = x_23[3u];
orientation[4] = x_23[4u];
orientation[5] = x_23[5u];
orientation[0i] = x_23[0u];
orientation[1i] = x_23[1u];
orientation[2i] = x_23[2u];
orientation[3i] = x_23[3u];
orientation[4i] = x_23[4u];
orientation[5i] = x_23[5u];
return;
}

View File

@@ -60,7 +60,7 @@ fn coordsInBounds_vi2_vi2_(coord : ptr<function, vec2<i32>>, shape : ptr<functio
var x_87 : bool;
var x_88_phi : bool;
let x_76 : vec2<i32> = *(coord);
let x_81 : bool = all((x_76 >= vec2<i32>(0, 0)));
let x_81 : bool = all((x_76 >= vec2<i32>(0i, 0i)));
x_88_phi = x_81;
if (x_81) {
let x_84 : vec2<i32> = *(coord);
@@ -136,7 +136,7 @@ fn getOutputFlatIndex_vi3_(coords : ptr<function, vec3<i32>>) -> i32 {
let x_99 : vec3<i32> = *(coords);
let x_105 : i32 = x_48.outShapeStrides.x;
let x_107 : i32 = x_48.outShapeStrides.y;
return i32(dot(vec3<f32>(x_99), vec3<f32>(vec3<i32>(x_105, x_107, 1))));
return i32(dot(vec3<f32>(x_99), vec3<f32>(vec3<i32>(x_105, x_107, 1i))));
}
fn setOutput_i1_f1_(flatIndex : ptr<function, i32>, value : ptr<function, f32>) {
@@ -223,26 +223,26 @@ fn mm_matMul_i1_i1_i1_(dimAOuter : ptr<function, i32>, dimInner : ptr<function,
var param_8 : i32;
var param_9 : f32;
let x_132 : u32 = gl_LocalInvocationID.y;
tileRow = (bitcast<i32>(x_132) * 1);
tileRow = (bitcast<i32>(x_132) * 1i);
let x_137 : u32 = gl_LocalInvocationID.x;
tileCol = (bitcast<i32>(x_137) * 1);
tileCol = (bitcast<i32>(x_137) * 1i);
let x_143 : u32 = gl_GlobalInvocationID.y;
globalRow = (bitcast<i32>(x_143) * 1);
globalRow = (bitcast<i32>(x_143) * 1i);
let x_148 : u32 = gl_GlobalInvocationID.x;
globalCol = (bitcast<i32>(x_148) * 1);
globalCol = (bitcast<i32>(x_148) * 1i);
let x_152 : i32 = *(dimInner);
numTiles = (((x_152 - 1) / 64) + 1);
innerRow = 0;
numTiles = (((x_152 - 1i) / 64i) + 1i);
innerRow = 0i;
loop {
let x_163 : i32 = innerRow;
if ((x_163 < 1)) {
if ((x_163 < 1i)) {
} else {
break;
}
innerCol = 0;
innerCol = 0i;
loop {
let x_171 : i32 = innerCol;
if ((x_171 < 1)) {
if ((x_171 < 1i)) {
} else {
break;
}
@@ -252,20 +252,20 @@ fn mm_matMul_i1_i1_i1_(dimAOuter : ptr<function, i32>, dimInner : ptr<function,
continuing {
let x_181 : i32 = innerCol;
innerCol = (x_181 + 1);
innerCol = (x_181 + 1i);
}
}
continuing {
let x_183 : i32 = innerRow;
innerRow = (x_183 + 1);
innerRow = (x_183 + 1i);
}
}
let x_187 : u32 = gl_LocalInvocationID.x;
tileColA = (bitcast<i32>(x_187) * 64);
tileColA = (bitcast<i32>(x_187) * 64i);
let x_192 : u32 = gl_LocalInvocationID.y;
tileRowB = (bitcast<i32>(x_192) * 1);
t = 0;
tileRowB = (bitcast<i32>(x_192) * 1i);
t = 0i;
loop {
let x_201 : i32 = t;
let x_202 : i32 = numTiles;
@@ -273,17 +273,17 @@ fn mm_matMul_i1_i1_i1_(dimAOuter : ptr<function, i32>, dimInner : ptr<function,
} else {
break;
}
innerRow_1 = 0;
innerRow_1 = 0i;
loop {
let x_210 : i32 = innerRow_1;
if ((x_210 < 1)) {
if ((x_210 < 1i)) {
} else {
break;
}
innerCol_1 = 0;
innerCol_1 = 0i;
loop {
let x_218 : i32 = innerCol_1;
if ((x_218 < 64)) {
if ((x_218 < 64i)) {
} else {
break;
}
@@ -300,32 +300,32 @@ fn mm_matMul_i1_i1_i1_(dimAOuter : ptr<function, i32>, dimInner : ptr<function,
let x_238 : i32 = t;
let x_240 : i32 = inputCol;
param_3 = (x_235 + x_236);
param_4 = ((x_238 * 64) + x_240);
param_4 = ((x_238 * 64i) + x_240);
let x_244 : f32 = mm_readA_i1_i1_(&(param_3), &(param_4));
mm_Asub[x_233][x_234] = x_244;
continuing {
let x_247 : i32 = innerCol_1;
innerCol_1 = (x_247 + 1);
innerCol_1 = (x_247 + 1i);
}
}
continuing {
let x_249 : i32 = innerRow_1;
innerRow_1 = (x_249 + 1);
innerRow_1 = (x_249 + 1i);
}
}
innerRow_2 = 0;
innerRow_2 = 0i;
loop {
let x_257 : i32 = innerRow_2;
if ((x_257 < 1)) {
if ((x_257 < 1i)) {
} else {
break;
}
innerCol_2 = 0;
innerCol_2 = 0i;
loop {
let x_265 : i32 = innerCol_2;
if ((x_265 < 1)) {
if ((x_265 < 1i)) {
} else {
break;
}
@@ -341,34 +341,34 @@ fn mm_matMul_i1_i1_i1_(dimAOuter : ptr<function, i32>, dimInner : ptr<function,
let x_282 : i32 = inputRow_1;
let x_284 : i32 = globalCol;
let x_285 : i32 = innerCol_2;
param_5 = ((x_280 * 64) + x_282);
param_5 = ((x_280 * 64i) + x_282);
param_6 = (x_284 + x_285);
let x_289 : f32 = mm_readB_i1_i1_(&(param_5), &(param_6));
mm_Bsub[x_278][x_279] = x_289;
continuing {
let x_291 : i32 = innerCol_2;
innerCol_2 = (x_291 + 1);
innerCol_2 = (x_291 + 1i);
}
}
continuing {
let x_293 : i32 = innerRow_2;
innerRow_2 = (x_293 + 1);
innerRow_2 = (x_293 + 1i);
}
}
workgroupBarrier();
k = 0;
k = 0i;
loop {
let x_302 : i32 = k;
if ((x_302 < 64)) {
if ((x_302 < 64i)) {
} else {
break;
}
inner = 0;
inner = 0i;
loop {
let x_310 : i32 = inner;
if ((x_310 < 1)) {
if ((x_310 < 1i)) {
} else {
break;
}
@@ -381,13 +381,13 @@ fn mm_matMul_i1_i1_i1_(dimAOuter : ptr<function, i32>, dimInner : ptr<function,
continuing {
let x_322 : i32 = inner;
inner = (x_322 + 1);
inner = (x_322 + 1i);
}
}
innerRow_3 = 0;
innerRow_3 = 0i;
loop {
let x_330 : i32 = innerRow_3;
if ((x_330 < 1)) {
if ((x_330 < 1i)) {
} else {
break;
}
@@ -396,10 +396,10 @@ fn mm_matMul_i1_i1_i1_(dimAOuter : ptr<function, i32>, dimInner : ptr<function,
let x_336 : i32 = k;
let x_338 : f32 = mm_Asub[(x_333 + x_334)][x_336];
ACached = x_338;
innerCol_3 = 0;
innerCol_3 = 0i;
loop {
let x_345 : i32 = innerCol_3;
if ((x_345 < 1)) {
if ((x_345 < 1i)) {
} else {
break;
}
@@ -413,41 +413,41 @@ fn mm_matMul_i1_i1_i1_(dimAOuter : ptr<function, i32>, dimInner : ptr<function,
continuing {
let x_358 : i32 = innerCol_3;
innerCol_3 = (x_358 + 1);
innerCol_3 = (x_358 + 1i);
}
}
continuing {
let x_360 : i32 = innerRow_3;
innerRow_3 = (x_360 + 1);
innerRow_3 = (x_360 + 1i);
}
}
continuing {
let x_362 : i32 = k;
k = (x_362 + 1);
k = (x_362 + 1i);
}
}
workgroupBarrier();
continuing {
let x_364 : i32 = t;
t = (x_364 + 1);
t = (x_364 + 1i);
}
}
innerRow_4 = 0;
innerRow_4 = 0i;
loop {
let x_372 : i32 = innerRow_4;
if ((x_372 < 1)) {
if ((x_372 < 1i)) {
} else {
break;
}
innerCol_4 = 0;
innerCol_4 = 0i;
loop {
var x_393 : bool;
var x_394_phi : bool;
let x_380 : i32 = innerCol_4;
if ((x_380 < 1)) {
if ((x_380 < 1i)) {
} else {
break;
}
@@ -480,13 +480,13 @@ fn mm_matMul_i1_i1_i1_(dimAOuter : ptr<function, i32>, dimInner : ptr<function,
continuing {
let x_411 : i32 = innerCol_4;
innerCol_4 = (x_411 + 1);
innerCol_4 = (x_411 + 1i);
}
}
continuing {
let x_413 : i32 = innerRow_4;
innerRow_4 = (x_413 + 1);
innerRow_4 = (x_413 + 1i);
}
}
return;

View File

@@ -60,7 +60,7 @@ fn main_1() {
var param_1 : f32;
let x_54 : u32 = gl_GlobalInvocationID.x;
index = bitcast<i32>(x_54);
a_1 = -10;
a_1 = -10i;
let x_63 : i32 = index;
param = -4.0;
param_1 = -3.0;

View File

@@ -1,5 +1,5 @@
fn f_1() {
var v : i32 = 0;
var v : i32 = 0i;
var offset_1 : u32 = 0u;
var count : u32 = 0u;
let x_16 : i32 = v;

View File

@@ -1,6 +1,6 @@
fn f_1() {
var v : i32 = 0;
var n : i32 = 0;
var v : i32 = 0i;
var n : i32 = 0i;
var offset_1 : u32 = 0u;
var count : u32 = 0u;
let x_17 : i32 = v;

View File

@@ -4,7 +4,7 @@ var<private> tint_symbol_1 : vec4<f32> = vec4<f32>();
fn textureLoad_6273b1() {
var res : f32 = 0.0;
let x_17 : vec4<f32> = vec4<f32>(textureLoad(arg_0, vec2<i32>(), 1), 0.0, 0.0, 0.0);
let x_17 : vec4<f32> = vec4<f32>(textureLoad(arg_0, vec2<i32>(), 1i), 0.0, 0.0, 0.0);
res = x_17.x;
return;
}

View File

@@ -3,7 +3,7 @@
var<private> tint_symbol_1 : vec4<f32> = vec4<f32>();
fn textureNumSamples_a3c8a0() {
var res : i32 = 0;
var res : i32 = 0i;
let x_16 : i32 = textureNumSamples(arg_0);
res = x_16;
return;

View File

@@ -1,7 +1,7 @@
fn main_1() {
var m : mat3x3<f32> = mat3x3<f32>();
m = mat3x3<f32>(vec3<f32>(1.0, 2.0, 3.0), vec3<f32>(4.0, 5.0, 6.0), vec3<f32>(7.0, 8.0, 9.0));
m[1] = vec3<f32>(5.0, 5.0, 5.0);
m[1i] = vec3<f32>(5.0, 5.0, 5.0);
return;
}

View File

@@ -1,8 +1,8 @@
var<private> I : i32 = 0;
var<private> I : i32 = 0i;
fn main_1() {
let x_9 : i32 = I;
let x_11 : i32 = (x_9 + 1);
let x_11 : i32 = (x_9 + 1i);
return;
}

View File

@@ -1,8 +1,8 @@
fn main_1() {
var i : i32 = 0;
i = 123;
var i : i32 = 0i;
i = 123i;
let x_10 : i32 = i;
let x_12 : i32 = (x_10 + 1);
let x_12 : i32 = (x_10 + 1i);
return;
}

View File

@@ -4,8 +4,8 @@ fn func(value : i32, pointer : ptr<function, i32>) -> i32 {
}
fn main_1() {
var i : i32 = 0;
i = 123;
var i : i32 = 0i;
i = 123i;
let x_19 : i32 = i;
let x_18 : i32 = func(x_19, &(i));
return;

View File

@@ -1,8 +1,8 @@
var<private> I : i32 = 0;
var<private> I : i32 = 0i;
fn main_1() {
I = 123;
I = ((100 + 20) + 3);
I = 123i;
I = ((100i + 20i) + 3i);
return;
}

View File

@@ -5,7 +5,7 @@ struct S {
var<private> V : S;
fn main_1() {
V.i = 5;
V.i = 5i;
return;
}

View File

@@ -1,8 +1,8 @@
fn main_1() {
var i : i32 = 0;
i = 123;
i = 123;
i = ((100 + 20) + 3);
var i : i32 = 0i;
i = 123i;
i = 123i;
i = ((100i + 20i) + 3i);
return;
}

View File

@@ -4,7 +4,7 @@ struct S {
fn main_1() {
var V : S;
V.i = 5;
V.i = 5i;
return;
}

View File

@@ -4,9 +4,9 @@ fn func(value : i32, pointer : ptr<function, i32>) {
}
fn main_1() {
var i : i32 = 0;
i = 123;
func(123, &(i));
var i : i32 = 0i;
i = 123i;
func(123i, &(i));
return;
}