Commit 9d0fd2a
[Autobackout]Revert of change: 9fe158e
- Enforce immediate value constraint for inline asm.
- Fixed a bug where the source of an inline asm call with multiple outputs was not being matched in PatternMatchPass.
- Fixed an issue where LLVM promotes a variable to a constant, causing an immediate value to be written to the asm string when it should not be.
__asm__ ("mov (M1, 16) %0(0,0)<1> %1(0,0)<1;1,0>" : "=rw" (s1) : "rw" (s2) );
When s2 is promoted to a constant value, the following vISA instruction is generated. The immediate value still contains the regioning info from the user inlined string.
mov (M1, 16) V39(0,0)<1> 0x3f800000:f(0,0)<1;1,0>
By enforcing the constraint, if we detect an immediate value with the "rw" constraint, we can generate an extra move instruction to resolve this issue.
Change-Id: Ia4229684d20714c0980106ff39db93eb1aa156e01 parent abc9da6 commit 9d0fd2a
File tree
2 files changed
+6
-24
lines changed- IGC/Compiler/CISACodeGen
2 files changed
+6
-24
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8140 | 8140 | | |
8141 | 8141 | | |
8142 | 8142 | | |
8143 | | - | |
8144 | | - | |
8145 | 8143 | | |
8146 | 8144 | | |
8147 | 8145 | | |
| |||
8162 | 8160 | | |
8163 | 8161 | | |
8164 | 8162 | | |
8165 | | - | |
8166 | | - | |
8167 | | - | |
8168 | | - | |
8169 | | - | |
8170 | | - | |
8171 | | - | |
8172 | | - | |
8173 | | - | |
8174 | | - | |
8175 | | - | |
8176 | | - | |
8177 | | - | |
8178 | | - | |
8179 | 8163 | | |
8180 | 8164 | | |
8181 | 8165 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1349 | 1349 | | |
1350 | 1350 | | |
1351 | 1351 | | |
| 1352 | + | |
1352 | 1353 | | |
1353 | 1354 | | |
1354 | | - | |
1355 | | - | |
1356 | | - | |
1357 | | - | |
1358 | | - | |
| 1355 | + | |
1359 | 1356 | | |
1360 | 1357 | | |
1361 | | - | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
1362 | 1361 | | |
1363 | 1362 | | |
1364 | | - | |
1365 | | - | |
| 1363 | + | |
1366 | 1364 | | |
1367 | 1365 | | |
1368 | 1366 | | |
| |||
0 commit comments