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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user