Vigneshwar Jayakumar
dc94465807
[AMDGPU] Add readfirstlane for inline asm SGPR with VGPR input ( #176330 )
...
SIFixSGPRCopies was incorrectly handling inline assembly operands with
SGPR ("s") constraints when the value came from a memory load (which
produces a VGPR). The pass would fail to insert the necessary
v_readfirstlane instruction instead directly passes the vgpr value.
example:
asm sideeffect buffer_load_dwordx4 $0, $1, $2, 0 =v,v,s,n
previously it generated:
buffer_load_dwordx4 v[0:3], v0, v[8:11] (but sgpr is expected), 0 offen
The fix adds readfirstlanes during lowering when there is a copy from
divergent register to SGPR.
---------
Co-authored-by: Matt Arsenault <arsenm2@gmail.com >
2026-04-30 12:45:20 -05:00
..
2026-04-28 21:25:29 -07:00
2026-04-28 03:57:47 +00:00
2026-04-28 09:27:22 -05:00
2026-04-28 03:57:47 +00:00
2026-04-16 12:05:59 -05:00
2026-04-15 10:42:52 -07:00
2026-04-28 21:25:29 -07:00
2026-04-15 10:33:12 -07:00
2026-04-06 12:51:46 -04:00
2026-04-07 15:51:45 +00:00
2026-04-22 10:50:17 +01:00
2026-04-28 17:50:29 +02:00
2026-03-30 12:18:29 -07:00
2026-04-04 05:57:13 -07:00
2026-04-20 14:06:42 +01:00
2026-04-23 08:44:32 -04:00
2026-04-09 23:02:28 -07:00
2026-04-20 11:49:30 +01:00
2026-04-21 11:29:14 +00:00
2026-04-08 16:22:30 -07:00
2026-04-21 11:29:14 +00:00
2026-04-21 11:29:14 +00:00
2026-04-22 12:01:18 +00:00
2026-04-30 09:31:39 -07:00
2026-04-22 21:59:45 +01:00
2026-04-22 10:50:17 +01:00
2026-04-14 20:28:17 -04:00
2026-04-13 19:07:57 -07:00
2026-04-03 08:41:05 +02:00
2026-04-23 14:31:21 -04:00
2026-04-30 03:09:33 -07:00
2026-04-27 15:15:40 +00:00
2026-04-28 03:57:47 +00:00
2026-04-20 16:49:59 +00:00
2026-04-28 14:34:46 -07:00
2026-04-28 14:34:46 -07:00
2026-04-16 12:05:59 -05:00
2026-04-16 12:05:59 -05:00
2026-04-16 12:05:59 -05:00
2026-03-30 08:58:22 -07:00
2026-03-30 08:58:22 -07:00
2026-03-28 09:50:25 +08:00
2026-04-13 13:42:12 +00:00
2026-04-21 12:35:47 +02:00
2026-04-30 10:24:49 +00:00
2026-04-22 23:01:03 -07:00
2026-04-30 13:24:55 +00:00
2026-04-22 23:01:03 -07:00
2026-04-08 10:11:50 +00:00
2026-04-20 16:49:59 +00:00
2026-04-21 12:33:24 -07:00
2026-04-21 08:56:34 -07:00
2026-04-01 11:55:17 +02:00
2026-04-15 22:58:20 +00:00
2026-04-09 13:33:13 +02:00
2026-04-09 13:33:13 +02:00
2026-04-17 11:14:49 +05:30
2026-04-22 12:52:17 +05:30
2026-04-14 20:28:17 -04:00
2026-04-09 09:35:52 -05:00
2026-04-02 09:42:53 +01:00
2026-04-16 16:54:54 +01:00
2026-04-08 10:37:26 -07:00
2026-04-08 10:37:26 -07:00
2026-04-16 12:05:59 -05:00
2026-04-02 17:32:50 -07:00
2026-04-08 10:37:26 -07:00
2026-04-01 18:16:11 +02:00
2026-04-11 15:38:44 +00:00
2026-04-11 15:38:44 +00:00
2026-04-23 19:11:37 +02:00
2026-04-23 19:11:37 +02:00
2026-04-23 14:32:43 +02:00
2026-04-23 14:32:43 +02:00
2026-04-07 12:57:45 +02:00
2026-04-01 06:39:36 -07:00
2026-03-30 16:52:45 -07:00
2026-04-11 10:35:07 -07:00
2026-04-11 10:35:07 -07:00
2026-04-03 16:33:39 +01:00
2026-04-28 21:25:29 -07:00
2026-04-20 08:43:22 +08:00
2026-04-01 13:37:37 +01:00
2026-04-20 12:00:14 +02:00
2026-04-17 17:58:23 +00:00
2026-04-27 15:15:40 +00:00
2026-04-27 15:15:40 +00:00
2026-04-24 14:08:10 -07:00
2026-04-15 15:03:24 -07:00
2026-04-30 12:45:20 -05:00
2026-04-30 12:45:20 -05:00
2026-04-24 13:25:51 +02:00
2026-04-20 14:06:42 +01:00
2026-04-07 07:14:38 +01:00
2026-04-09 08:54:16 -04:00
2026-04-09 13:33:13 +02:00
2026-04-29 12:52:59 -04:00
2026-04-28 21:25:29 -07:00
2026-04-23 08:45:37 -05:00
2026-04-16 16:22:30 +02:00
2026-04-17 08:42:35 -05:00
2026-04-01 13:41:53 +01:00
2026-04-01 13:41:53 +01:00
2026-04-27 12:42:41 +08:00
2026-04-30 17:42:21 +01:00
2026-04-13 14:27:37 -04:00
2026-04-30 12:59:52 +02:00
2026-04-13 09:42:16 -07:00
2026-04-23 14:32:43 +02:00
2026-04-27 09:46:18 -04:00
2026-04-02 14:05:08 +00:00