diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-10-18 22:42:17 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-10-18 22:42:17 -0700 |
commit | f0dce3bfce72a1a8514aa22e04ea6e06253a985f (patch) | |
tree | c0c339a93101e50a2facf729326638c22e255180 /src/arch/x86 | |
parent | 46bd1c99a9fb3099ab9688ce43669cb7bc154a2a (diff) | |
download | gem5-f0dce3bfce72a1a8514aa22e04ea6e06253a985f.tar.xz |
X86: Implement the undocumented SALC instruction which sets AL to 0xFF if CF=1 and 0x00 otherwise.
--HG--
extra : convert_revision : 845d43c544e296d7595f54054906055a9f21ad9f
Diffstat (limited to 'src/arch/x86')
-rw-r--r-- | src/arch/x86/isa/decoder/one_byte_opcodes.isa | 2 | ||||
-rw-r--r-- | src/arch/x86/isa/insts/general_purpose/compare_and_test/set_byte_on_condition.py | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/arch/x86/isa/decoder/one_byte_opcodes.isa b/src/arch/x86/isa/decoder/one_byte_opcodes.isa index 483e750b2..473dd1eeb 100644 --- a/src/arch/x86/isa/decoder/one_byte_opcodes.isa +++ b/src/arch/x86/isa/decoder/one_byte_opcodes.isa @@ -461,7 +461,7 @@ } 0x6: decode MODE_SUBMODE { 0x0: UD2(); - default: WarnUnimpl::salc(); + default: SALC(rAb); } 0x7: XLAT(); } diff --git a/src/arch/x86/isa/insts/general_purpose/compare_and_test/set_byte_on_condition.py b/src/arch/x86/isa/insts/general_purpose/compare_and_test/set_byte_on_condition.py index 81091905c..fab42dffd 100644 --- a/src/arch/x86/isa/insts/general_purpose/compare_and_test/set_byte_on_condition.py +++ b/src/arch/x86/isa/insts/general_purpose/compare_and_test/set_byte_on_condition.py @@ -54,6 +54,11 @@ # Authors: Gabe Black microcode = ''' +def macroop SALC_R +{ + sbb reg, reg, reg, dataSize=1 +}; + def macroop SETZ_R { movi reg, reg, 1, flags=(CZF,) |