Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Unified Diff: src/assembler_ia32.h

Issue 607353002: Subzero: Fix emission of 16-bit immediates. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Add tests Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/assembler_ia32.cpp » ('j') | tests_lit/assembler/x86/immediate_encodings.ll » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/assembler_ia32.h
diff --git a/src/assembler_ia32.h b/src/assembler_ia32.h
index 83c0b667e0387e93453296aebebd6cf8ad4b16e8..5066397e93d978f70912958cf89669861f7fc097 100644
--- a/src/assembler_ia32.h
+++ b/src/assembler_ia32.h
@@ -700,6 +700,7 @@ public:
private:
inline void EmitUint8(uint8_t value);
+ inline void EmitInt16(int16_t value);
inline void EmitInt32(int32_t value);
inline void EmitRegisterOperand(int rm, int reg);
inline void EmitXmmRegisterOperand(int rm, XmmRegister reg);
@@ -707,10 +708,11 @@ private:
inline void EmitOperandSizeOverride();
void EmitOperand(int rm, const Operand &operand);
- void EmitImmediate(const Immediate &imm);
+ void EmitImmediate(Type ty, const Immediate &imm);
void EmitComplexI8(int rm, const Operand &operand,
const Immediate &immediate);
- void EmitComplex(int rm, const Operand &operand, const Immediate &immediate);
+ void EmitComplex(Type Ty, int rm, const Operand &operand,
+ const Immediate &immediate);
void EmitLabel(Label *label, intptr_t instruction_size);
void EmitLabelLink(Label *label);
void EmitNearLabelLink(Label *label);
@@ -728,6 +730,10 @@ inline void AssemblerX86::EmitUint8(uint8_t value) {
buffer_.Emit<uint8_t>(value);
}
+inline void AssemblerX86::EmitInt16(int16_t value) {
+ buffer_.Emit<int16_t>(value);
+}
+
inline void AssemblerX86::EmitInt32(int32_t value) {
buffer_.Emit<int32_t>(value);
}
« no previous file with comments | « no previous file | src/assembler_ia32.cpp » ('j') | tests_lit/assembler/x86/immediate_encodings.ll » ('J')

Powered by Google App Engine
This is Rietveld 408576698