Kyle Roarty has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/36275 )

Change subject: arch-gcn3: Fix operand size reporting for Flat insts
......................................................................

arch-gcn3: Fix operand size reporting for Flat insts

Some Flat instructions were reporting their operand sizes in bits
instead of bytes. This lead to panics occuring in
StaticRegisterManagerPolicy::mapVgpr.

This patch updates those insts to report their operand sizes in bytes.

Change-Id: I48f485e638864a1f2a1a3be66ed20893e73e9705
---
M src/arch/gcn3/insts/instructions.hh
1 file changed, 22 insertions(+), 22 deletions(-)



diff --git a/src/arch/gcn3/insts/instructions.hh b/src/arch/gcn3/insts/instructions.hh
index 471c130..207da29 100644
--- a/src/arch/gcn3/insts/instructions.hh
+++ b/src/arch/gcn3/insts/instructions.hh
@@ -79137,7 +79137,7 @@
               case 0: //vgpr_addr
                 return 8;
               case 1: //vgpr_dst
-                return 32;
+                return 1;
               default:
                 fatal("op idx %i out of bounds\n", opIdx);
                 return -1;
@@ -79261,7 +79261,7 @@
               case 0: //vgpr_addr
                 return 8;
               case 1: //vgpr_dst
-                return 32;
+                return 2;
               default:
                 fatal("op idx %i out of bounds\n", opIdx);
                 return -1;
@@ -80147,9 +80147,9 @@
               case 0: //vgpr_addr
                 return 8;
               case 1: //vgpr_src
-                return 32;
+                return 4;
               case 2: //vgpr_dst
-                return 32;
+                return 4;
               default:
                 fatal("op idx %i out of bounds\n", opIdx);
                 return -1;
@@ -80215,9 +80215,9 @@
               case 0: //vgpr_addr
                 return 8;
               case 1: //vgpr_src
-                return 32;
+                return 4;
               case 2: //vgpr_dst
-                return 32;
+                return 4;
               default:
                 fatal("op idx %i out of bounds\n", opIdx);
                 return -1;
@@ -80281,9 +80281,9 @@
               case 0: //vgpr_addr
                 return 8;
               case 1: //vgpr_src
-                return 32;
+                return 4;
               case 2: //vgpr_dst
-                return 32;
+                return 4;
               default:
                 fatal("op idx %i out of bounds\n", opIdx);
                 return -1;
@@ -80347,9 +80347,9 @@
               case 0: //vgpr_addr
                 return 8;
               case 1: //vgpr_src
-                return 32;
+                return 4;
               case 2: //vgpr_dst
-                return 32;
+                return 4;
               default:
                 fatal("op idx %i out of bounds\n", opIdx);
                 return -1;
@@ -80413,9 +80413,9 @@
               case 0: //vgpr_addr
                 return 8;
               case 1: //vgpr_src
-                return 32;
+                return 4;
               case 2: //vgpr_dst
-                return 32;
+                return 4;
               default:
                 fatal("op idx %i out of bounds\n", opIdx);
                 return -1;
@@ -80479,9 +80479,9 @@
               case 0: //vgpr_addr
                 return 8;
               case 1: //vgpr_src
-                return 32;
+                return 4;
               case 2: //vgpr_dst
-                return 32;
+                return 4;
               default:
                 fatal("op idx %i out of bounds\n", opIdx);
                 return -1;
@@ -80545,9 +80545,9 @@
               case 0: //vgpr_addr
                 return 8;
               case 1: //vgpr_src
-                return 32;
+                return 4;
               case 2: //vgpr_dst
-                return 32;
+                return 4;
               default:
                 fatal("op idx %i out of bounds\n", opIdx);
                 return -1;
@@ -80611,9 +80611,9 @@
               case 0: //vgpr_addr
                 return 8;
               case 1: //vgpr_src
-                return 32;
+                return 4;
               case 2: //vgpr_dst
-                return 32;
+                return 4;
               default:
                 fatal("op idx %i out of bounds\n", opIdx);
                 return -1;
@@ -80677,9 +80677,9 @@
               case 0: //vgpr_addr
                 return 8;
               case 1: //vgpr_src
-                return 32;
+                return 4;
               case 2: //vgpr_dst
-                return 32;
+                return 4;
               default:
                 fatal("op idx %i out of bounds\n", opIdx);
                 return -1;
@@ -80745,9 +80745,9 @@
               case 0: //vgpr_addr
                 return 8;
               case 1: //vgpr_src
-                return 32;
+                return 4;
               case 2: //vgpr_dst
-                return 32;
+                return 4;
               default:
                 fatal("op idx %i out of bounds\n", opIdx);
                 return -1;

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/36275
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I48f485e638864a1f2a1a3be66ed20893e73e9705
Gerrit-Change-Number: 36275
Gerrit-PatchSet: 1
Gerrit-Owner: Kyle Roarty <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to