summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/microops/mediaop.isa
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2009-12-19 01:47:30 -0800
committerGabe Black <gblack@eecs.umich.edu>2009-12-19 01:47:30 -0800
commite474079ddc1941246e000dc699f9acb5c6a8a5e0 (patch)
tree42048d3711a0becb1c31433b4692edf725174693 /src/arch/x86/isa/microops/mediaop.isa
parent295516a590b6e47c9a881f193027447e500c749c (diff)
downloadgem5-e474079ddc1941246e000dc699f9acb5c6a8a5e0.tar.xz
X86: Create a common flag with a name to indicate scalar media instructions.
Diffstat (limited to 'src/arch/x86/isa/microops/mediaop.isa')
-rw-r--r--src/arch/x86/isa/microops/mediaop.isa56
1 files changed, 28 insertions, 28 deletions
diff --git a/src/arch/x86/isa/microops/mediaop.isa b/src/arch/x86/isa/microops/mediaop.isa
index 4052f254d..0a45e38fb 100644
--- a/src/arch/x86/isa/microops/mediaop.isa
+++ b/src/arch/x86/isa/microops/mediaop.isa
@@ -352,7 +352,7 @@ let {{
assert(srcSize == destSize);
int size = srcSize;
int sizeBits = size * 8;
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {
@@ -545,7 +545,7 @@ let {{
int size = srcSize;
int sizeBits = size * 8;
assert(srcSize == 4 || srcSize == 8);
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {
@@ -595,7 +595,7 @@ let {{
int size = srcSize;
int sizeBits = size * 8;
assert(srcSize == 4 || srcSize == 8);
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {
@@ -634,7 +634,7 @@ let {{
assert(srcSize == destSize);
int size = srcSize;
int sizeBits = size * 8;
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {
@@ -672,7 +672,7 @@ let {{
assert(srcSize == destSize);
int size = srcSize;
int sizeBits = size * 8;
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {
@@ -725,7 +725,7 @@ let {{
int size = srcSize;
int sizeBits = size * 8;
assert(srcSize == 4 || srcSize == 8);
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {
@@ -766,7 +766,7 @@ let {{
int size = srcSize;
int sizeBits = size * 8;
assert(srcSize == 4 || srcSize == 8);
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {
@@ -812,7 +812,7 @@ let {{
int size = srcSize;
int sizeBits = size * 8;
assert(srcSize == 4 || srcSize == 8);
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {
@@ -858,7 +858,7 @@ let {{
int size = srcSize;
int sizeBits = size * 8;
assert(srcSize == 4 || srcSize == 8);
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {
@@ -904,7 +904,7 @@ let {{
int size = srcSize;
int sizeBits = size * 8;
assert(srcSize == 4 || srcSize == 8);
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {
@@ -938,7 +938,7 @@ let {{
assert(srcSize == destSize);
int size = srcSize;
int sizeBits = size * 8;
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {
@@ -973,7 +973,7 @@ let {{
assert(srcSize == destSize);
int size = srcSize;
int sizeBits = size * 8;
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {
@@ -1013,7 +1013,7 @@ let {{
int destBits = destSize * 8;
assert(destBits <= 64);
assert(destSize >= srcSize);
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / destSize);
+ int items = numItems(destSize);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {
@@ -1058,7 +1058,7 @@ let {{
assert(srcSize == destSize);
int size = srcSize;
int sizeBits = size * 8;
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {
@@ -1098,7 +1098,7 @@ let {{
assert(srcSize == destSize);
int size = srcSize;
int sizeBits = size * 8;
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t shiftAmt = op2.uqw;
uint64_t result = FpDestReg.uqw;
@@ -1125,7 +1125,7 @@ let {{
assert(srcSize == destSize);
int size = srcSize;
int sizeBits = size * 8;
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t shiftAmt = op2.uqw;
uint64_t result = FpDestReg.uqw;
@@ -1156,7 +1156,7 @@ let {{
assert(srcSize == destSize);
int size = srcSize;
int sizeBits = size * 8;
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t shiftAmt = op2.uqw;
uint64_t result = FpDestReg.uqw;
@@ -1201,15 +1201,15 @@ let {{
int srcStart = 0;
int destStart = 0;
if (srcSize == 2 * destSize) {
- items = (ext & 0x1) ? 1: sizeof(FloatRegBits) / srcSize;
+ items = numItems(srcSize);
if (ext & 0x2)
destStart = destSizeBits * items;
} else if (destSize == 2 * srcSize) {
- items = (ext & 0x1) ? 1: sizeof(FloatRegBits) / destSize;
+ items = numItems(destSize);
if (ext & 0x2)
srcStart = srcSizeBits * items;
} else {
- items = (ext & 0x1) ? 1: sizeof(FloatRegBits) / destSize;
+ items = numItems(destSize);
}
uint64_t result = FpDestReg.uqw;
@@ -1273,15 +1273,15 @@ let {{
int srcStart = 0;
int destStart = 0;
if (srcSize == 2 * destSize) {
- items = (ext & 0x1) ? 1: sizeof(FloatRegBits) / srcSize;
+ items = numItems(srcSize);
if (ext & 0x2)
destStart = destSizeBits * items;
} else if (destSize == 2 * srcSize) {
- items = (ext & 0x1) ? 1: sizeof(FloatRegBits) / destSize;
+ items = numItems(destSize);
if (ext & 0x2)
srcStart = srcSizeBits * items;
} else {
- items = (ext & 0x1) ? 1: sizeof(FloatRegBits) / destSize;
+ items = numItems(destSize);
}
uint64_t result = FpDestReg.uqw;
@@ -1334,15 +1334,15 @@ let {{
int srcStart = 0;
int destStart = 0;
if (srcSize == 2 * destSize) {
- items = (ext & 0x1) ? 1: sizeof(FloatRegBits) / srcSize;
+ items = numItems(srcSize);
if (ext & 0x2)
destStart = destSizeBits * items;
} else if (destSize == 2 * srcSize) {
- items = (ext & 0x1) ? 1: sizeof(FloatRegBits) / destSize;
+ items = numItems(destSize);
if (ext & 0x2)
srcStart = srcSizeBits * items;
} else {
- items = (ext & 0x1) ? 1: sizeof(FloatRegBits) / destSize;
+ items = numItems(destSize);
}
uint64_t result = FpDestReg.uqw;
@@ -1393,7 +1393,7 @@ let {{
assert(srcSize == destSize);
int size = srcSize;
int sizeBits = size * 8;
- int items = (ext & 0x1) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {
@@ -1432,7 +1432,7 @@ let {{
assert(srcSize == destSize);
int size = srcSize;
int sizeBits = size * 8;
- int items = (ext & 0x8) ? 1: (sizeof(FloatRegBits) / size);
+ int items = numItems(size);
uint64_t result = FpDestReg.uqw;
for (int i = 0; i < items; i++) {