Commit ef3ad19b authored by Ilija Pavlovic's avatar Ilija Pavlovic Committed by Commit Bot

MIPS64: Fix code generator for load and store data

For load and store operations, the code generator for MIPS64 used simple
instructions. In this CL, these instructions are substituted with
corresponding macro-instructions.

TEST=mjsunit/asm/poppler/poppler,
     mjsunit/asm/sqlite3/sqlite,
     mjsunit/asm/sqlite3/sqlite-pointer-masking

BUG=

Change-Id: I1a15be880cd32046b9e5eeea49e5c81ebd2f3138
Reviewed-on: https://chromium-review.googlesource.com/608975Reviewed-by: 's avatarMiran Karić <Miran.Karic@imgtec.com>
Commit-Queue: Miran Karić <Miran.Karic@imgtec.com>
Cr-Commit-Position: refs/heads/master@{#47279}
parent 14b8db68
......@@ -1814,70 +1814,70 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction(
break;
}
case kCheckedLoadInt8:
ASSEMBLE_CHECKED_LOAD_INTEGER(lb);
ASSEMBLE_CHECKED_LOAD_INTEGER(Lb);
break;
case kCheckedLoadUint8:
ASSEMBLE_CHECKED_LOAD_INTEGER(lbu);
ASSEMBLE_CHECKED_LOAD_INTEGER(Lbu);
break;
case kCheckedLoadInt16:
ASSEMBLE_CHECKED_LOAD_INTEGER(lh);
ASSEMBLE_CHECKED_LOAD_INTEGER(Lh);
break;
case kCheckedLoadUint16:
ASSEMBLE_CHECKED_LOAD_INTEGER(lhu);
ASSEMBLE_CHECKED_LOAD_INTEGER(Lhu);
break;
case kCheckedLoadWord32:
ASSEMBLE_CHECKED_LOAD_INTEGER(lw);
ASSEMBLE_CHECKED_LOAD_INTEGER(Lw);
break;
case kCheckedLoadWord64:
ASSEMBLE_CHECKED_LOAD_INTEGER(ld);
ASSEMBLE_CHECKED_LOAD_INTEGER(Ld);
break;
case kCheckedLoadFloat32:
ASSEMBLE_CHECKED_LOAD_FLOAT(Single, lwc1);
ASSEMBLE_CHECKED_LOAD_FLOAT(Single, Lwc1);
break;
case kCheckedLoadFloat64:
ASSEMBLE_CHECKED_LOAD_FLOAT(Double, ldc1);
ASSEMBLE_CHECKED_LOAD_FLOAT(Double, Ldc1);
break;
case kCheckedStoreWord8:
ASSEMBLE_CHECKED_STORE_INTEGER(sb);
ASSEMBLE_CHECKED_STORE_INTEGER(Sb);
break;
case kCheckedStoreWord16:
ASSEMBLE_CHECKED_STORE_INTEGER(sh);
ASSEMBLE_CHECKED_STORE_INTEGER(Sh);
break;
case kCheckedStoreWord32:
ASSEMBLE_CHECKED_STORE_INTEGER(sw);
ASSEMBLE_CHECKED_STORE_INTEGER(Sw);
break;
case kCheckedStoreWord64:
ASSEMBLE_CHECKED_STORE_INTEGER(sd);
ASSEMBLE_CHECKED_STORE_INTEGER(Sd);
break;
case kCheckedStoreFloat32:
ASSEMBLE_CHECKED_STORE_FLOAT(Single, swc1);
ASSEMBLE_CHECKED_STORE_FLOAT(Single, Swc1);
break;
case kCheckedStoreFloat64:
ASSEMBLE_CHECKED_STORE_FLOAT(Double, sdc1);
ASSEMBLE_CHECKED_STORE_FLOAT(Double, Sdc1);
break;
case kAtomicLoadInt8:
ASSEMBLE_ATOMIC_LOAD_INTEGER(lb);
ASSEMBLE_ATOMIC_LOAD_INTEGER(Lb);
break;
case kAtomicLoadUint8:
ASSEMBLE_ATOMIC_LOAD_INTEGER(lbu);
ASSEMBLE_ATOMIC_LOAD_INTEGER(Lbu);
break;
case kAtomicLoadInt16:
ASSEMBLE_ATOMIC_LOAD_INTEGER(lh);
ASSEMBLE_ATOMIC_LOAD_INTEGER(Lh);
break;
case kAtomicLoadUint16:
ASSEMBLE_ATOMIC_LOAD_INTEGER(lhu);
ASSEMBLE_ATOMIC_LOAD_INTEGER(Lhu);
break;
case kAtomicLoadWord32:
ASSEMBLE_ATOMIC_LOAD_INTEGER(lw);
ASSEMBLE_ATOMIC_LOAD_INTEGER(Lw);
break;
case kAtomicStoreWord8:
ASSEMBLE_ATOMIC_STORE_INTEGER(sb);
ASSEMBLE_ATOMIC_STORE_INTEGER(Sb);
break;
case kAtomicStoreWord16:
ASSEMBLE_ATOMIC_STORE_INTEGER(sh);
ASSEMBLE_ATOMIC_STORE_INTEGER(Sh);
break;
case kAtomicStoreWord32:
ASSEMBLE_ATOMIC_STORE_INTEGER(sw);
ASSEMBLE_ATOMIC_STORE_INTEGER(Sw);
break;
case kAtomicExchangeInt8:
case kAtomicExchangeUint8:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment