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
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/36275
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
Reviewed-by: Alexandru Duțu <alexandru.dutu@amd.com>
Maintainer: Matt Sinclair <mattdsinclair@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Kyle Roarty
2020-10-17 00:14:35 -05:00
parent 46e9ab85bc
commit a82ea84244

View File

@@ -79137,7 +79137,7 @@ namespace Gcn3ISA
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 @@ namespace Gcn3ISA
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 @@ namespace Gcn3ISA
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 @@ namespace Gcn3ISA
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 @@ namespace Gcn3ISA
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 @@ namespace Gcn3ISA
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 @@ namespace Gcn3ISA
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 @@ namespace Gcn3ISA
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 @@ namespace Gcn3ISA
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 @@ namespace Gcn3ISA
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 @@ namespace Gcn3ISA
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 @@ namespace Gcn3ISA
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;