summaryrefslogtreecommitdiff
path: root/src/arch/arm/isa/insts/neon.isa
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm/isa/insts/neon.isa')
-rw-r--r--src/arch/arm/isa/insts/neon.isa50
1 files changed, 25 insertions, 25 deletions
diff --git a/src/arch/arm/isa/insts/neon.isa b/src/arch/arm/isa/insts/neon.isa
index 64419e46a..1e0c1164f 100644
--- a/src/arch/arm/isa/insts/neon.isa
+++ b/src/arch/arm/isa/insts/neon.isa
@@ -1196,7 +1196,7 @@ let {{
readDest=False, pairwise=False, toInt=False):
global header_output, exec_output
eWalkCode = simdEnabledCheckCode + '''
- typedef FloatReg FloatVect[rCount];
+ typedef float FloatVect[rCount];
FloatVect srcRegs1, srcRegs2;
'''
if toInt:
@@ -1220,17 +1220,17 @@ let {{
readDestCode = ''
if readDest:
readDestCode = 'destReg = destRegs[r];'
- destType = 'FloatReg'
+ destType = 'float'
writeDest = 'destRegs[r] = destReg;'
if toInt:
- destType = 'FloatRegBits'
+ destType = 'uint32_t'
writeDest = 'destRegs.regs[r] = destReg;'
if pairwise:
eWalkCode += '''
for (unsigned r = 0; r < rCount; r++) {
- FloatReg srcReg1 = (2 * r < rCount) ?
+ float srcReg1 = (2 * r < rCount) ?
srcRegs1[2 * r] : srcRegs2[2 * r - rCount];
- FloatReg srcReg2 = (2 * r < rCount) ?
+ float srcReg2 = (2 * r < rCount) ?
srcRegs1[2 * r + 1] : srcRegs2[2 * r + 1 - rCount];
%(destType)s destReg;
%(readDest)s
@@ -1244,8 +1244,8 @@ let {{
else:
eWalkCode += '''
for (unsigned r = 0; r < rCount; r++) {
- FloatReg srcReg1 = srcRegs1[r];
- FloatReg srcReg2 = srcRegs2[r];
+ float srcReg1 = srcRegs1[r];
+ float srcReg2 = srcRegs2[r];
%(destType)s destReg;
%(readDest)s
%(op)s
@@ -1457,7 +1457,7 @@ let {{
def twoEqualRegInstFp(name, Name, opClass, types, rCount, op, readDest=False):
global header_output, exec_output
eWalkCode = simdEnabledCheckCode + '''
- typedef FloatReg FloatVect[rCount];
+ typedef float FloatVect[rCount];
FloatVect srcRegs1, srcRegs2, destRegs;
'''
for reg in range(rCount):
@@ -1478,9 +1478,9 @@ let {{
mnemonic);
} else {
for (unsigned i = 0; i < rCount; i++) {
- FloatReg srcReg1 = srcRegs1[i];
- FloatReg srcReg2 = srcRegs2[imm];
- FloatReg destReg;
+ float srcReg1 = srcRegs1[i];
+ float srcReg2 = srcRegs2[imm];
+ float destReg;
%(readDest)s
%(op)s
destRegs[i] = destReg;
@@ -1525,11 +1525,11 @@ let {{
readDestCode = 'destReg = gtoh(destRegs.regs[i]);'
readOpCode = 'Element srcElem1 = gtoh(srcRegs1.elements[i]);'
if fromInt:
- readOpCode = 'FloatRegBits srcReg1 = gtoh(srcRegs1.regs[i]);'
+ readOpCode = 'uint32_t srcReg1 = gtoh(srcRegs1.regs[i]);'
declDest = 'Element destElem;'
writeDestCode = 'destRegs.elements[i] = htog(destElem);'
if toInt:
- declDest = 'FloatRegBits destReg;'
+ declDest = 'uint32_t destReg;'
writeDestCode = 'destRegs.regs[i] = htog(destReg);'
eWalkCode += '''
for (unsigned i = 0; i < eCount; i++) {
@@ -1773,7 +1773,7 @@ let {{
readDest=False, toInt=False):
global header_output, exec_output
eWalkCode = simdEnabledCheckCode + '''
- typedef FloatReg FloatVect[rCount];
+ typedef float FloatVect[rCount];
FloatVect srcRegs1;
'''
if toInt:
@@ -1796,14 +1796,14 @@ let {{
readDestCode = ''
if readDest:
readDestCode = 'destReg = destRegs[i];'
- destType = 'FloatReg'
+ destType = 'float'
writeDest = 'destRegs[r] = destReg;'
if toInt:
- destType = 'FloatRegBits'
+ destType = 'uint32_t'
writeDest = 'destRegs.regs[r] = destReg;'
eWalkCode += '''
for (unsigned r = 0; r < rCount; r++) {
- FloatReg srcReg1 = srcRegs1[r];
+ float srcReg1 = srcRegs1[r];
%(destType)s destReg;
%(readDest)s
%(op)s
@@ -3558,7 +3558,7 @@ let {{
twoRegMiscInst("vcgt", "NVcgtQ", "SimdCmpOp", signedTypes, 4, vcgtCode)
vcgtfpCode = '''
FPSCR fpscr = (FPSCR) FpscrExc;
- float res = binaryOp(fpscr, srcReg1, (FloatReg)0.0, vcgtFunc,
+ float res = binaryOp(fpscr, srcReg1, (float)0.0, vcgtFunc,
true, true, VfpRoundNearest);
destReg = (res == 0) ? -1 : 0;
if (res == 2.0)
@@ -3575,7 +3575,7 @@ let {{
twoRegMiscInst("vcge", "NVcgeQ", "SimdCmpOp", signedTypes, 4, vcgeCode)
vcgefpCode = '''
FPSCR fpscr = (FPSCR) FpscrExc;
- float res = binaryOp(fpscr, srcReg1, (FloatReg)0.0, vcgeFunc,
+ float res = binaryOp(fpscr, srcReg1, (float)0.0, vcgeFunc,
true, true, VfpRoundNearest);
destReg = (res == 0) ? -1 : 0;
if (res == 2.0)
@@ -3592,7 +3592,7 @@ let {{
twoRegMiscInst("vceq", "NVceqQ", "SimdCmpOp", signedTypes, 4, vceqCode)
vceqfpCode = '''
FPSCR fpscr = (FPSCR) FpscrExc;
- float res = binaryOp(fpscr, srcReg1, (FloatReg)0.0, vceqFunc,
+ float res = binaryOp(fpscr, srcReg1, (float)0.0, vceqFunc,
true, true, VfpRoundNearest);
destReg = (res == 0) ? -1 : 0;
if (res == 2.0)
@@ -3609,7 +3609,7 @@ let {{
twoRegMiscInst("vcle", "NVcleQ", "SimdCmpOp", signedTypes, 4, vcleCode)
vclefpCode = '''
FPSCR fpscr = (FPSCR) FpscrExc;
- float res = binaryOp(fpscr, srcReg1, (FloatReg)0.0, vcleFunc,
+ float res = binaryOp(fpscr, srcReg1, (float)0.0, vcleFunc,
true, true, VfpRoundNearest);
destReg = (res == 0) ? -1 : 0;
if (res == 2.0)
@@ -3626,7 +3626,7 @@ let {{
twoRegMiscInst("vclt", "NVcltQ", "SimdCmpOp", signedTypes, 4, vcltCode)
vcltfpCode = '''
FPSCR fpscr = (FPSCR) FpscrExc;
- float res = binaryOp(fpscr, srcReg1, (FloatReg)0.0, vcltFunc,
+ float res = binaryOp(fpscr, srcReg1, (float)0.0, vcltFunc,
true, true, VfpRoundNearest);
destReg = (res == 0) ? -1 : 0;
if (res == 2.0)
@@ -3639,7 +3639,7 @@ let {{
4, vcltfpCode, toInt = True)
vswpCode = '''
- FloatRegBits mid;
+ uint32_t mid;
for (unsigned r = 0; r < rCount; r++) {
mid = srcReg1.regs[r];
srcReg1.regs[r] = destReg.regs[r];
@@ -3836,13 +3836,13 @@ let {{
union
{
uint8_t bytes[32];
- FloatRegBits regs[8];
+ uint32_t regs[8];
} table;
union
{
uint8_t bytes[8];
- FloatRegBits regs[2];
+ uint32_t regs[2];
} destReg, srcReg2;
const unsigned length = %(length)d;