History log of /gem5/src/arch/x86/isa/insts/simd128/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
14289:49005710b522 26-Aug-2019 Pouya Fotouhi <Pouya.Fotouhi@amd.com>

arch-x86: ignore non-temporal hint for movntps/movntpd SSE insts

Making the implementation of movntps/movntpd consistent with other
non-temporal instructions. We are ignoring the hint here, and
implementing those instructions as cacheable instructions.

This change adds a warning to let user know about this workaround.
Also, this change add the address check for second part of move.

Change-Id: I811652b24cf39ca2f5c5d4c9e9e417f69190b55c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20408
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
Tested-by: kokoro <noreply+kokoro@google.com>

14287:1c9774d969ac 18-Sep-2019 Hoa Nguyen <hoanguyen@ucdavis.edu>

arch-x86: Change warn to warn_once for NT instructions

Change-Id: I50353716f2a913b9b106b140644d95991879f662
Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21039
Reviewed-by: Gabe Black <gabeblack@google.com>
Reviewed-by: Pouya Fotouhi <pfotouhi@ucdavis.edu>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>

14220:d8f83e601091 20-Aug-2019 Pouya Fotouhi <Pouya.Fotouhi@amd.com>

arch-x86: implement movntq/movntdq instructions

Non-temporal quadword/double-quadword move instructions.
This change ignores the non-temporal hint and instructions are
implemented to send cacheable request to memory.
This would have some "performance" impact (i.e. having some cache
pollution) to get better "correctness" in behavior.

Change-Id: I2052ac0970f61a54bafb7332762debcb7103202d
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20288
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>

14033:a1cb162f68d9 31-May-2019 Brandon Potter <brandon.potter@amd.com>

x86: fix movsd bug on %xmm register

The movsd instruction should zero out half the register, but
does not do it. This changeset adds the necessary microop to
the instruction to cause correct behavior.

Change-Id: I5278da3634c78a97ed0586f687a36c6dc5a34c60
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19068
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Reviewed-by: Michael LeBeane <Michael.Lebeane@amd.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>

12683:6e14a1dd346d 20-Apr-2017 Steve Reinhardt <steve.reinhardt@amd.com>

arch-x86: implement movntps/movntpd SSE insts

These are non-temporal packed SSE stores.

Change-Id: I526cd6551b38d6d35010bc6173f23d017106b466
Reviewed-on: https://gem5-review.googlesource.com/9861
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>

11160:10f28b61fcb1 06-Oct-2015 Steve Reinhardt <steve.reinhardt@amd.com>

x86: implement rcpps and rcpss SSE insts

These are packed single-precision approximate reciprocal operations,
vector and scalar versions, respectively.

This code was basically developed by copying the code for
sqrtps and sqrtss. The mrcp micro-op was simplified relative to
msqrt since there are no double-precision versions of this operation.

10899:b8b8ad2c72dd 04-Jul-2015 Nikos Nikoleris <nikos.nikoleris@gmail.com>

x86: Adjust the size of the values written to the x87 misc registers
All x87 misc registers are implemented in an array of 64 bit values
but in real hardware the size of some of these registers is smaller.
Previsouly all 64 bits where incorrectly set and then later read. To
ensure correctness we mask the value in setMiscRegNoEffect to write
only the valid bits.

Committed by: Nilay Vaish <nilay@cs.wisc.edu>

10644:24447dc69101 10-Jan-2015 Emilio Castillo <castilloe@unican.es>

x86 : fxsave and fxrestore missing template code

This patch corrects the FXSAVE and FXRSTOR Macroops. The actual code used for
saving/restore the FP registers is in the file but it was not used.

The FXSAVE and FXRSTOR instructions are used in the kernel for saving and
loading the state of the mmx,xmm and fpu registers.

This operation is triggered in FS by issuing a Device Not Available Fault. The
cr0 register has a TS flag that is set upon each context change. Every time a
task access any FP related register (SIMD as well) if the TS flag is set to
one, the device not available fault is issued. The kernel saves the current
state of the registers, and restore the previous state of the currently running
task.

Right now Gem5 lacks of this capability. the Device Not Available Fault is
never issued, leading to several problems when different threads share the same
CPU and SMT is not used. The PARSEC Ferret benchmark is an example of this
behavior.

In order to test this a hack in the atomic cpu code was done to detect if a
static instruction has any FP operands and the cr0 reg TS bit is set. This
check must be done in the ISA dependent code. But it seems to be tricky to
access the cr0 register while executing an instruction.

Committed by: Nilay Vaish <nilay@cs.wisc.edu>

10632:b415e0dabe21 03-Jan-2015 Maxime Martinasso <maxime.cscs@gmail.com>

x86: implements the simd128 ADDSUBPD instruction

This patch implements the simd128 ADDSUBPD instruction for the x86 architecture.

Tested with a simple program in assembly language which executes the
instruction. Checked that different versions of the instruction are executed
by using the execution tracing option.

Committed by: Nilay Vaish <nilay@cs.wisc.edu

9896:e31776cf4743 29-Sep-2013 Andreas Sandberg <andreas@sandberg.pp.se>

x86: Add support for FXSAVE, FXSAVE64, FXRSTOR, and FXRSTOR64

9009:d45a02bd5391 19-May-2012 Marc Orr <marc.orr@gmail.com>

x86 ISA: Implement the sse3 haddps instruction.

Shuffle the 32 bit values into position, and then add in parallel.

7087:fb8d5786ff30 24-May-2010 Nathan Binkert <nate@binkert.org>

copyright: Change HP copyright on x86 code to be more friendly


/gem5/src/arch/x86/SConscript
/gem5/src/arch/x86/X86System.py
/gem5/src/arch/x86/X86TLB.py
/gem5/src/arch/x86/arguments.hh
/gem5/src/arch/x86/bios/ACPI.py
/gem5/src/arch/x86/bios/E820.py
/gem5/src/arch/x86/bios/IntelMP.py
/gem5/src/arch/x86/bios/SConscript
/gem5/src/arch/x86/bios/SMBios.py
/gem5/src/arch/x86/bios/acpi.cc
/gem5/src/arch/x86/bios/acpi.hh
/gem5/src/arch/x86/bios/e820.cc
/gem5/src/arch/x86/bios/e820.hh
/gem5/src/arch/x86/bios/intelmp.cc
/gem5/src/arch/x86/bios/intelmp.hh
/gem5/src/arch/x86/bios/smbios.cc
/gem5/src/arch/x86/bios/smbios.hh
/gem5/src/arch/x86/emulenv.cc
/gem5/src/arch/x86/emulenv.hh
/gem5/src/arch/x86/faults.cc
/gem5/src/arch/x86/faults.hh
/gem5/src/arch/x86/floatregs.hh
/gem5/src/arch/x86/insts/macroop.hh
/gem5/src/arch/x86/insts/microfpop.cc
/gem5/src/arch/x86/insts/microfpop.hh
/gem5/src/arch/x86/insts/microldstop.cc
/gem5/src/arch/x86/insts/microldstop.hh
/gem5/src/arch/x86/insts/microop.cc
/gem5/src/arch/x86/insts/microop.hh
/gem5/src/arch/x86/insts/microregop.cc
/gem5/src/arch/x86/insts/microregop.hh
/gem5/src/arch/x86/insts/static_inst.cc
/gem5/src/arch/x86/insts/static_inst.hh
/gem5/src/arch/x86/interrupts.cc
/gem5/src/arch/x86/interrupts.hh
/gem5/src/arch/x86/intregs.hh
/gem5/src/arch/x86/isa/bitfields.isa
/gem5/src/arch/x86/isa/decoder/decoder.isa
/gem5/src/arch/x86/isa/decoder/one_byte_opcodes.isa
/gem5/src/arch/x86/isa/decoder/two_byte_opcodes.isa
/gem5/src/arch/x86/isa/decoder/x87.isa
/gem5/src/arch/x86/isa/formats/basic.isa
/gem5/src/arch/x86/isa/formats/cpuid.isa
/gem5/src/arch/x86/isa/formats/error.isa
/gem5/src/arch/x86/isa/formats/formats.isa
/gem5/src/arch/x86/isa/formats/multi.isa
/gem5/src/arch/x86/isa/formats/string.isa
/gem5/src/arch/x86/isa/formats/syscall.isa
/gem5/src/arch/x86/isa/formats/unimp.isa
/gem5/src/arch/x86/isa/formats/unknown.isa
/gem5/src/arch/x86/isa/includes.isa
/gem5/src/arch/x86/isa/insts/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/arithmetic/add_and_subtract.py
/gem5/src/arch/x86/isa/insts/general_purpose/arithmetic/increment_and_decrement.py
/gem5/src/arch/x86/isa/insts/general_purpose/arithmetic/multiply_and_divide.py
/gem5/src/arch/x86/isa/insts/general_purpose/cache_and_memory_management.py
/gem5/src/arch/x86/isa/insts/general_purpose/compare_and_test/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/compare_and_test/bit_scan.py
/gem5/src/arch/x86/isa/insts/general_purpose/compare_and_test/bit_test.py
/gem5/src/arch/x86/isa/insts/general_purpose/compare_and_test/bounds.py
/gem5/src/arch/x86/isa/insts/general_purpose/compare_and_test/compare.py
/gem5/src/arch/x86/isa/insts/general_purpose/compare_and_test/set_byte_on_condition.py
/gem5/src/arch/x86/isa/insts/general_purpose/compare_and_test/test.py
/gem5/src/arch/x86/isa/insts/general_purpose/control_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/control_transfer/call.py
/gem5/src/arch/x86/isa/insts/general_purpose/control_transfer/conditional_jump.py
/gem5/src/arch/x86/isa/insts/general_purpose/control_transfer/interrupts_and_exceptions.py
/gem5/src/arch/x86/isa/insts/general_purpose/control_transfer/jump.py
/gem5/src/arch/x86/isa/insts/general_purpose/control_transfer/loop.py
/gem5/src/arch/x86/isa/insts/general_purpose/control_transfer/xreturn.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_conversion/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_conversion/ascii_adjust.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_conversion/bcd_adjust.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_conversion/endian_conversion.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_conversion/extract_sign_mask.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_conversion/sign_extension.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_conversion/translate.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_transfer/conditional_move.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_transfer/move.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_transfer/stack_operations.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_transfer/xchg.py
/gem5/src/arch/x86/isa/insts/general_purpose/flags/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/flags/load_and_store.py
/gem5/src/arch/x86/isa/insts/general_purpose/flags/push_and_pop.py
/gem5/src/arch/x86/isa/insts/general_purpose/flags/set_and_clear.py
/gem5/src/arch/x86/isa/insts/general_purpose/input_output/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/input_output/general_io.py
/gem5/src/arch/x86/isa/insts/general_purpose/input_output/string_io.py
/gem5/src/arch/x86/isa/insts/general_purpose/load_effective_address.py
/gem5/src/arch/x86/isa/insts/general_purpose/load_segment_registers.py
/gem5/src/arch/x86/isa/insts/general_purpose/logical.py
/gem5/src/arch/x86/isa/insts/general_purpose/no_operation.py
/gem5/src/arch/x86/isa/insts/general_purpose/rotate_and_shift/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/rotate_and_shift/rotate.py
/gem5/src/arch/x86/isa/insts/general_purpose/rotate_and_shift/shift.py
/gem5/src/arch/x86/isa/insts/general_purpose/semaphores.py
/gem5/src/arch/x86/isa/insts/general_purpose/string/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/string/compare_strings.py
/gem5/src/arch/x86/isa/insts/general_purpose/string/load_string.py
/gem5/src/arch/x86/isa/insts/general_purpose/string/move_string.py
/gem5/src/arch/x86/isa/insts/general_purpose/string/scan_string.py
/gem5/src/arch/x86/isa/insts/general_purpose/string/store_string.py
/gem5/src/arch/x86/isa/insts/general_purpose/system_calls.py
__init__.py
floating_point/__init__.py
floating_point/arithmetic/__init__.py
floating_point/arithmetic/addition.py
floating_point/arithmetic/division.py
floating_point/arithmetic/horizontal_addition.py
floating_point/arithmetic/horizontal_subtraction.py
floating_point/arithmetic/multiplication.py
floating_point/arithmetic/reciprocal_estimation.py
floating_point/arithmetic/reciprocal_square_root.py
floating_point/arithmetic/simultaneous_addition_and_subtraction.py
floating_point/arithmetic/square_root.py
floating_point/arithmetic/subtraction.py
floating_point/compare/__init__.py
floating_point/compare/compare_and_write_mask.py
floating_point/compare/compare_and_write_minimum_or_maximum.py
floating_point/compare/compare_and_write_rflags.py
floating_point/data_conversion/__init__.py
floating_point/data_conversion/convert_floating_point_to_floating_point.py
floating_point/data_conversion/convert_floating_point_to_gpr_integer.py
floating_point/data_conversion/convert_floating_point_to_mmx_integer.py
floating_point/data_conversion/convert_floating_point_to_xmm_integer.py
floating_point/data_reordering/__init__.py
floating_point/data_reordering/shuffle.py
floating_point/data_reordering/unpack_and_interleave.py
floating_point/data_transfer/__init__.py
floating_point/data_transfer/move.py
floating_point/data_transfer/move_mask.py
floating_point/data_transfer/move_non_temporal.py
floating_point/data_transfer/move_with_duplication.py
floating_point/logical/__init__.py
floating_point/logical/andp.py
floating_point/logical/exclusive_or.py
floating_point/logical/orp.py
integer/__init__.py
integer/arithmetic/__init__.py
integer/arithmetic/addition.py
integer/arithmetic/average.py
integer/arithmetic/multiplication.py
integer/arithmetic/multiply_add.py
integer/arithmetic/subtraction.py
integer/arithmetic/sum_of_absolute_differences.py
integer/compare/__init__.py
integer/compare/compare_and_write_mask.py
integer/compare/compare_and_write_minimum_or_maximum.py
integer/data_conversion/__init__.py
integer/data_conversion/convert_gpr_integer_to_floating_point.py
integer/data_conversion/convert_integer_to_floating_point.py
integer/data_conversion/convert_mmx_integer_to_floating_point.py
integer/data_reordering/__init__.py
integer/data_reordering/extract_and_insert.py
integer/data_reordering/pack_with_saturation.py
integer/data_reordering/shuffle.py
integer/data_reordering/unpack_and_interleave.py
integer/data_transfer/__init__.py
integer/data_transfer/move.py
integer/data_transfer/move_mask.py
integer/data_transfer/move_non_temporal.py
integer/logical/__init__.py
integer/logical/exclusive_or.py
integer/logical/pand.py
integer/logical/por.py
integer/save_and_restore_state/__init__.py
integer/save_and_restore_state/save_and_restore_control_and_status.py
integer/save_and_restore_state/save_and_restore_state.py
integer/shift/__init__.py
integer/shift/left_logical_shift.py
integer/shift/right_arithmetic_shift.py
integer/shift/right_logical_shift.py
/gem5/src/arch/x86/isa/insts/simd64/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/accumulation.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/reciprocal_estimation.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/reciprocal_square_root.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/compare/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/compare/compare_and_write_mask.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/compare/compare_and_write_minimum_or_maximum.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/data_conversion.py
/gem5/src/arch/x86/isa/insts/simd64/integer/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/average.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiply_add.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/sum_of_absolute_differences.py
/gem5/src/arch/x86/isa/insts/simd64/integer/compare/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/compare/compare_and_write_mask.py
/gem5/src/arch/x86/isa/insts/simd64/integer/compare/compare_and_write_minimum_or_maximum.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_conversion.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/extract_and_insert.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/pack_with_saturation.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/shuffle_and_swap.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/unpack_and_interleave.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/move.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/move_mask.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/move_non_temporal.py
/gem5/src/arch/x86/isa/insts/simd64/integer/exit_media_state.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/exclusive_or.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/pand.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/por.py
/gem5/src/arch/x86/isa/insts/simd64/integer/save_and_restore_state.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/left_logical_shift.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/right_arithmetic_shift.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/right_logical_shift.py
/gem5/src/arch/x86/isa/insts/system/__init__.py
/gem5/src/arch/x86/isa/insts/system/halt.py
/gem5/src/arch/x86/isa/insts/system/invlpg.py
/gem5/src/arch/x86/isa/insts/system/msrs.py
/gem5/src/arch/x86/isa/insts/system/segmentation.py
/gem5/src/arch/x86/isa/insts/system/undefined_operation.py
/gem5/src/arch/x86/isa/insts/x87/__init__.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/change_sign.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/division.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/partial_remainder.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/round.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/square_root.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/__init__.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/classify.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/floating_point_ordered_compare.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/floating_point_unordered_compare.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/integer_compare.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/test.py
/gem5/src/arch/x86/isa/insts/x87/control/__init__.py
/gem5/src/arch/x86/isa/insts/x87/control/clear_exceptions.py
/gem5/src/arch/x86/isa/insts/x87/control/initialize.py
/gem5/src/arch/x86/isa/insts/x87/control/save_and_restore_x87_control_word.py
/gem5/src/arch/x86/isa/insts/x87/control/save_and_restore_x87_environment.py
/gem5/src/arch/x86/isa/insts/x87/control/save_x87_status_word.py
/gem5/src/arch/x86/isa/insts/x87/control/wait_for_exceptions.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/__init__.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/conditional_move.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/convert_and_load_or_store_bcd.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/convert_and_load_or_store_integer.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/exchange.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/extract.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/load_or_store_floating_point.py
/gem5/src/arch/x86/isa/insts/x87/load_constants/__init__.py
/gem5/src/arch/x86/isa/insts/x87/load_constants/load_0_1_or_pi.py
/gem5/src/arch/x86/isa/insts/x87/load_constants/load_logarithm.py
/gem5/src/arch/x86/isa/insts/x87/no_operation.py
/gem5/src/arch/x86/isa/insts/x87/stack_management/__init__.py
/gem5/src/arch/x86/isa/insts/x87/stack_management/clear_state.py
/gem5/src/arch/x86/isa/insts/x87/stack_management/stack_control.py
/gem5/src/arch/x86/isa/insts/x87/transcendental_functions/__init__.py
/gem5/src/arch/x86/isa/insts/x87/transcendental_functions/logarithmic_functions.py
/gem5/src/arch/x86/isa/insts/x87/transcendental_functions/trigonometric_functions.py
/gem5/src/arch/x86/isa/macroop.isa
/gem5/src/arch/x86/isa/main.isa
/gem5/src/arch/x86/isa/microasm.isa
/gem5/src/arch/x86/isa/microops/base.isa
/gem5/src/arch/x86/isa/microops/debug.isa
/gem5/src/arch/x86/isa/microops/fpop.isa
/gem5/src/arch/x86/isa/microops/ldstop.isa
/gem5/src/arch/x86/isa/microops/limmop.isa
/gem5/src/arch/x86/isa/microops/microops.isa
/gem5/src/arch/x86/isa/microops/regop.isa
/gem5/src/arch/x86/isa/microops/seqop.isa
/gem5/src/arch/x86/isa/microops/specop.isa
/gem5/src/arch/x86/isa/operands.isa
/gem5/src/arch/x86/isa/outputblock.isa
/gem5/src/arch/x86/isa/specialize.isa
/gem5/src/arch/x86/isa_traits.hh
/gem5/src/arch/x86/kernel_stats.hh
/gem5/src/arch/x86/linux/linux.cc
/gem5/src/arch/x86/linux/linux.hh
/gem5/src/arch/x86/linux/process.cc
/gem5/src/arch/x86/linux/process.hh
/gem5/src/arch/x86/linux/syscalls.cc
/gem5/src/arch/x86/linux/system.cc
/gem5/src/arch/x86/linux/system.hh
/gem5/src/arch/x86/miscregs.hh
/gem5/src/arch/x86/mmaped_ipr.hh
/gem5/src/arch/x86/pagetable.cc
/gem5/src/arch/x86/pagetable.hh
/gem5/src/arch/x86/pagetable_walker.cc
/gem5/src/arch/x86/pagetable_walker.hh
/gem5/src/arch/x86/predecoder.cc
/gem5/src/arch/x86/predecoder.hh
/gem5/src/arch/x86/predecoder_tables.cc
/gem5/src/arch/x86/process.cc
/gem5/src/arch/x86/process.hh
/gem5/src/arch/x86/registers.hh
/gem5/src/arch/x86/remote_gdb.cc
/gem5/src/arch/x86/remote_gdb.hh
/gem5/src/arch/x86/segmentregs.hh
/gem5/src/arch/x86/system.cc
/gem5/src/arch/x86/system.hh
/gem5/src/arch/x86/tlb.cc
/gem5/src/arch/x86/tlb.hh
/gem5/src/arch/x86/types.hh
/gem5/src/arch/x86/utility.cc
/gem5/src/arch/x86/utility.hh
/gem5/src/arch/x86/vtophys.cc
/gem5/src/arch/x86/vtophys.hh
/gem5/src/arch/x86/x86_traits.hh
6801:353726c415f4 19-Dec-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Add a common named flag for signed media operations.

6800:335f8b406bb9 19-Dec-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Create a common flag with a name to indicate high multiplies.

6799:36131e4dfb6e 19-Dec-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Create a common flag with a name to indicate scalar media instructions.

6715:fb4a3a61bc74 04-Nov-2009 Vince Weaver <vince@csl.cornell.edu>

X86: Fix problem with movhps instruction

This problem is like the one fixed with movhpd a few weeks ago.
A +8 displacement is used to access memory when there should
be none.

This fix is needed for the perlbmk spec2k benchmark to run.

6707:0e5037cecaf7 30-Oct-2009 Vince Weaver <vince@csl.cornell.edu>

X86: Add support for x86 psrldq and pslldq instructions

These are complicated instructions and the micro-code might be suboptimal.

This has been tested with some small sample programs (attached)

The psrldq instruction is needed by various spec2k programs.

6705:3c810b64ee7d 30-Oct-2009 Vince Weaver <vince@csl.cornell.edu>

X86: Implement the X86 sse2 haddpd instruction

This patch implements the haddpd instruction.

It fixes the problem in the previous version (pointed out by Gabe Black)
where an incorrect result would happen if you issue the instruction
with the same argument twice, i.e. "haddpd %xmm0,%xmm0"

This instruction is used by many spec2k benchmarks.

6698:21047815f78e 28-Oct-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Replace "DISPLACEMENT" with disp in movhpd.

6697:4863725cb4d9 27-Oct-2009 Vince Weaver <vince@csl.cornell.edu>

Fix problem with the x86 sse movhpd instruction.

The movhpd instruction was writing to the wrong memory offset.

6696:e533bec78924 21-Oct-2009 Vince Weaver <vince@csl.cornell.edu>

Implement X86 sse2 movdqu and movdqa instructions

The movdqa instruction should enforce 16-byte alignment.
This implementation does not do that.

These instructions are needed for most of x86_64 spec2k to run.

6608:6d1f74b21533 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement MOVQ2DQ.

6607:dba8e329e783 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement MOVDQ2Q.

6606:03fd282998d0 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the media instructions that convert fp values to ints.

6604:b750348f6da3 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the instructions that compare fp values and write a mask as a result.

6602:95b882ce7b10 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the instructions that compare fp values and write to rflags.

6600:bb997cd711af 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement MOVSS.

6599:a578850e7524 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement LDMXCSR.

6598:82d1d4d217e4 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement STMXCSR.

6597:4903cea6a8c2 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the shuffle media instructions.

6595:2aec993cdd8f 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the mask move instructions.

6593:f27fd3c3a153 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the instructions that move sign bits.

6591:3d1ea9362fe5 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the insert/extract instructions.

6588:f449753172ee 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the media average instructions.

6586:e8af0cf94c37 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the multiply and add instructions.

6584:5355f44912f6 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the media shifts that operate on 64 bits or less at a time.

6582:7e1af04f4ead 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the sum of absolute differences instructions.

6580:a1c40860fe09 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the media integer subtract instructions.

6578:825b77196521 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the integer media multiply instructions.

6575:e5a3ae40c4d0 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the integer media max instructions.

6573:6e14c5d36a1a 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the integer media min instructions.

6571:91d9599956f3 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the media integer addition instructions.

6569:e8cb266c9451 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the instructions that convert between forms of floating point.

6567:819107c2c851 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the instructions that compare fp values and write masks as the result.

6565:b7f5a02ea9b7 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the MOVDDUP instruction.

6564:9ed64f6888cf 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement many of the media mov instructions.

6563:2c5b80c75da7 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the media instructions that convert integer values to floating point.

6561:3f716cda05c9 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the floating point media instructions.

6559:e4f60f716103 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the floating point media multiply instructions.

6557:f677e05d723d 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the floating point media subtract instructions.

6555:dae81a15cfcc 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the floating point media add instructions.

6553:897523ead7ce 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the media sqrt instructions.

6551:52b4167056ed 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the media floating point max instructions.

6549:d6ae13f56801 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the media floating point min instructions.

6547:3f6c31c3d59e 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the pack instructions.

6545:9c68aea7b1e6 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Rename sel to ext for media microops.

6544:406ad51ece90 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Move the MMX version of MOVD into the simd64 directory.

6543:a9a5dd560925 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the remaining unpack instructions.

6542:059e35b593a8 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement PANDN, ANDNPS, and ANDNPD.

6540:17414b661543 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement PAND, ANDPS, and ANDPD.

6538:6cf5a0235ae8 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement POR, ORPD and ORPS.

6536:dc54f4fd6116 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement PXOR.

6535:b595412884f9 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: (Re)implement XORPS and XORPD.

6533:2977e2e2dc27 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement PUNPCKLQDQ.

6532:f7c42d003529 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement PUNPCKHQDQ.

6531:6e2f4aa11482 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement PUNPCKHDQ.

6530:cdb6bde20266 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement PUNPCKHWD.

6529:cde96afcb3e3 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement PUNPCKHBW.

6528:5c3a713ec1bb 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement PUNPCKLDQ.

6527:4af40cccf527 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement PUNPCKLWD.

6526:2f72755b4af7 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the versions of PUNPCKLBW that use XMM registers.

6525:b252af5cda46 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the MOVQ instruction.

6523:da0f91a2d60b 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the versions of MOVD that have an MMX source.

6520:962f58808d53 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the versions of MOVD that have an MMX destination.

6519:36369ba5fad6 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Ignore the size part of XMM/MMX operands. The instructions know what they want.

6518:1ad4a7774b3c 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Use suffixes to differentiate XMM/MMX/GPR operands.

5123:cd30bb46e146 03-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Fix places where movfp was used incorrectly.

5119:a4469f2919f3 03-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Put ldst into the microcode (the earlier changeset didn't really).
Also clean things up as much as possible so that faulting won't break an
instruction. More microops which verify addresses are needed.

5081:2ccce8600a9d 19-Sep-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Put in stubs for x87, 64 bit and 128 bit SIMD instruction microcode.


/gem5/src/arch/x86/SConscript
/gem5/src/arch/x86/isa/insts/__init__.py
/gem5/src/arch/x86/isa/insts/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/arithmetic/add_and_subtract.py
/gem5/src/arch/x86/isa/insts/arithmetic/increment_and_decrement.py
/gem5/src/arch/x86/isa/insts/arithmetic/multiply_and_divide.py
/gem5/src/arch/x86/isa/insts/cache_and_memory_management.py
/gem5/src/arch/x86/isa/insts/compare_and_test/__init__.py
/gem5/src/arch/x86/isa/insts/compare_and_test/bit_scan.py
/gem5/src/arch/x86/isa/insts/compare_and_test/bit_test.py
/gem5/src/arch/x86/isa/insts/compare_and_test/bounds.py
/gem5/src/arch/x86/isa/insts/compare_and_test/compare.py
/gem5/src/arch/x86/isa/insts/compare_and_test/set_byte_on_condition.py
/gem5/src/arch/x86/isa/insts/compare_and_test/test.py
/gem5/src/arch/x86/isa/insts/control_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/control_transfer/call.py
/gem5/src/arch/x86/isa/insts/control_transfer/conditional_jump.py
/gem5/src/arch/x86/isa/insts/control_transfer/interrupts_and_exceptions.py
/gem5/src/arch/x86/isa/insts/control_transfer/jump.py
/gem5/src/arch/x86/isa/insts/control_transfer/loop.py
/gem5/src/arch/x86/isa/insts/control_transfer/xreturn.py
/gem5/src/arch/x86/isa/insts/data_conversion/__init__.py
/gem5/src/arch/x86/isa/insts/data_conversion/ascii_adjust.py
/gem5/src/arch/x86/isa/insts/data_conversion/bcd_adjust.py
/gem5/src/arch/x86/isa/insts/data_conversion/endian_conversion.py
/gem5/src/arch/x86/isa/insts/data_conversion/extract_sign_mask.py
/gem5/src/arch/x86/isa/insts/data_conversion/sign_extension.py
/gem5/src/arch/x86/isa/insts/data_conversion/translate.py
/gem5/src/arch/x86/isa/insts/data_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/data_transfer/conditional_move.py
/gem5/src/arch/x86/isa/insts/data_transfer/move.py
/gem5/src/arch/x86/isa/insts/data_transfer/stack_operations.py
/gem5/src/arch/x86/isa/insts/data_transfer/xchg.py
/gem5/src/arch/x86/isa/insts/flags/__init__.py
/gem5/src/arch/x86/isa/insts/flags/load_and_store.py
/gem5/src/arch/x86/isa/insts/flags/push_and_pop.py
/gem5/src/arch/x86/isa/insts/flags/set_and_clear.py
/gem5/src/arch/x86/isa/insts/general_purpose/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/arithmetic/add_and_subtract.py
/gem5/src/arch/x86/isa/insts/general_purpose/arithmetic/increment_and_decrement.py
/gem5/src/arch/x86/isa/insts/general_purpose/arithmetic/multiply_and_divide.py
/gem5/src/arch/x86/isa/insts/general_purpose/cache_and_memory_management.py
/gem5/src/arch/x86/isa/insts/general_purpose/compare_and_test/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/compare_and_test/bit_scan.py
/gem5/src/arch/x86/isa/insts/general_purpose/compare_and_test/bit_test.py
/gem5/src/arch/x86/isa/insts/general_purpose/compare_and_test/bounds.py
/gem5/src/arch/x86/isa/insts/general_purpose/compare_and_test/compare.py
/gem5/src/arch/x86/isa/insts/general_purpose/compare_and_test/set_byte_on_condition.py
/gem5/src/arch/x86/isa/insts/general_purpose/compare_and_test/test.py
/gem5/src/arch/x86/isa/insts/general_purpose/control_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/control_transfer/call.py
/gem5/src/arch/x86/isa/insts/general_purpose/control_transfer/conditional_jump.py
/gem5/src/arch/x86/isa/insts/general_purpose/control_transfer/interrupts_and_exceptions.py
/gem5/src/arch/x86/isa/insts/general_purpose/control_transfer/jump.py
/gem5/src/arch/x86/isa/insts/general_purpose/control_transfer/loop.py
/gem5/src/arch/x86/isa/insts/general_purpose/control_transfer/xreturn.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_conversion/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_conversion/ascii_adjust.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_conversion/bcd_adjust.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_conversion/endian_conversion.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_conversion/extract_sign_mask.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_conversion/sign_extension.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_conversion/translate.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_transfer/conditional_move.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_transfer/move.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_transfer/stack_operations.py
/gem5/src/arch/x86/isa/insts/general_purpose/data_transfer/xchg.py
/gem5/src/arch/x86/isa/insts/general_purpose/flags/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/flags/load_and_store.py
/gem5/src/arch/x86/isa/insts/general_purpose/flags/push_and_pop.py
/gem5/src/arch/x86/isa/insts/general_purpose/flags/set_and_clear.py
/gem5/src/arch/x86/isa/insts/general_purpose/input_output/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/input_output/general_io.py
/gem5/src/arch/x86/isa/insts/general_purpose/input_output/string_io.py
/gem5/src/arch/x86/isa/insts/general_purpose/load_effective_address.py
/gem5/src/arch/x86/isa/insts/general_purpose/load_segment_registers.py
/gem5/src/arch/x86/isa/insts/general_purpose/logical.py
/gem5/src/arch/x86/isa/insts/general_purpose/no_operation.py
/gem5/src/arch/x86/isa/insts/general_purpose/processor_information.py
/gem5/src/arch/x86/isa/insts/general_purpose/rotate_and_shift/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/rotate_and_shift/rotate.py
/gem5/src/arch/x86/isa/insts/general_purpose/rotate_and_shift/shift.py
/gem5/src/arch/x86/isa/insts/general_purpose/semaphores.py
/gem5/src/arch/x86/isa/insts/general_purpose/string/__init__.py
/gem5/src/arch/x86/isa/insts/general_purpose/string/compare_strings.py
/gem5/src/arch/x86/isa/insts/general_purpose/string/load_string.py
/gem5/src/arch/x86/isa/insts/general_purpose/string/move_string.py
/gem5/src/arch/x86/isa/insts/general_purpose/string/scan_string.py
/gem5/src/arch/x86/isa/insts/general_purpose/string/store_string.py
/gem5/src/arch/x86/isa/insts/general_purpose/system_calls.py
/gem5/src/arch/x86/isa/insts/input_output/__init__.py
/gem5/src/arch/x86/isa/insts/input_output/general_io.py
/gem5/src/arch/x86/isa/insts/input_output/string_io.py
/gem5/src/arch/x86/isa/insts/load_effective_address.py
/gem5/src/arch/x86/isa/insts/load_segment_registers.py
/gem5/src/arch/x86/isa/insts/logical.py
/gem5/src/arch/x86/isa/insts/no_operation.py
/gem5/src/arch/x86/isa/insts/processor_information.py
/gem5/src/arch/x86/isa/insts/rotate_and_shift/__init__.py
/gem5/src/arch/x86/isa/insts/rotate_and_shift/rotate.py
/gem5/src/arch/x86/isa/insts/rotate_and_shift/shift.py
/gem5/src/arch/x86/isa/insts/semaphores.py
__init__.py
floating_point/__init__.py
floating_point/arithmetic/__init__.py
floating_point/arithmetic/addition.py
floating_point/arithmetic/division.py
floating_point/arithmetic/horizontal_addition.py
floating_point/arithmetic/horizontal_subtraction.py
floating_point/arithmetic/multiplication.py
floating_point/arithmetic/reciprocal_estimation.py
floating_point/arithmetic/reciprocal_square_root.py
floating_point/arithmetic/simultaneous_addition_and_subtraction.py
floating_point/arithmetic/square_root.py
floating_point/arithmetic/subtraction.py
floating_point/compare/__init__.py
floating_point/compare/compare_and_write_mask.py
floating_point/compare/compare_and_write_minimum_or_maximum.py
floating_point/compare/compare_and_write_rflags.py
floating_point/data_conversion/__init__.py
floating_point/data_conversion/convert_floating_point_to_floating_point.py
floating_point/data_conversion/convert_floating_point_to_gpr_integer.py
floating_point/data_conversion/convert_floating_point_to_mmx_integer.py
floating_point/data_conversion/convert_floating_point_to_xmm_integer.py
floating_point/data_reordering/__init__.py
floating_point/data_reordering/shuffle.py
floating_point/data_reordering/unpack_and_interleave.py
floating_point/data_transfer/__init__.py
floating_point/data_transfer/move.py
floating_point/data_transfer/move_mask.py
floating_point/data_transfer/move_non_temporal.py
floating_point/data_transfer/move_with_duplication.py
floating_point/logical/__init__.py
floating_point/logical/andp.py
floating_point/logical/exclusive_or.py
floating_point/logical/orp.py
integer/__init__.py
integer/arithmetic/__init__.py
integer/arithmetic/addition.py
integer/arithmetic/average.py
integer/arithmetic/multiplication.py
integer/arithmetic/multiply_add.py
integer/arithmetic/subtraction.py
integer/arithmetic/sum_of_absolute_differences.py
integer/compare/__init__.py
integer/compare/compare_and_write_mask.py
integer/compare/compare_and_write_minimum_or_maximum.py
integer/data_conversion/__init__.py
integer/data_conversion/convert_gpr_integer_to_floating_point.py
integer/data_conversion/convert_integer_to_floating_point.py
integer/data_conversion/convert_mmx_integer_to_floating_point.py
integer/data_reordering/__init__.py
integer/data_reordering/extract_and_insert.py
integer/data_reordering/pack_with_saturation.py
integer/data_reordering/shuffle.py
integer/data_reordering/unpack_and_interleave.py
integer/data_transfer/__init__.py
integer/data_transfer/move.py
integer/data_transfer/move_mask.py
integer/data_transfer/move_non_temporal.py
integer/logical/__init__.py
integer/logical/exclusive_or.py
integer/logical/pand.py
integer/logical/por.py
integer/save_and_restore_state/__init__.py
integer/save_and_restore_state/save_and_restore_control_and_status.py
integer/save_and_restore_state/save_and_restore_state.py
integer/shift/__init__.py
integer/shift/left_logical_shift.py
integer/shift/right_arithmetic_shift.py
integer/shift/right_logical_shift.py
/gem5/src/arch/x86/isa/insts/simd64/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/accumulation.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/reciprocal_estimation.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/reciprocal_square_root.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/compare/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/compare/compare_and_write_mask.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/compare/compare_and_write_minimum_or_maximum.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/data_conversion.py
/gem5/src/arch/x86/isa/insts/simd64/integer/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/average.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiply_add.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/sum_of_absolute_differences.py
/gem5/src/arch/x86/isa/insts/simd64/integer/compare/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/compare/compare_and_write_mask.py
/gem5/src/arch/x86/isa/insts/simd64/integer/compare/compare_and_write_minimum_or_maximum.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_conversion.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/extract_and_insert.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/pack_with_saturation.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/shuffle_and_swap.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/unpack_and_interleave.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/move.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/move_mask.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/move_non_temporal.py
/gem5/src/arch/x86/isa/insts/simd64/integer/exit_media_state.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/exclusive_or.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/pand.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/por.py
/gem5/src/arch/x86/isa/insts/simd64/integer/save_and_restore_state.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/left_logical_shift.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/right_arithmetic_shift.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/right_logical_shift.py
/gem5/src/arch/x86/isa/insts/sse/__init__.py
/gem5/src/arch/x86/isa/insts/sse/add_and_subtract.py
/gem5/src/arch/x86/isa/insts/sse/compare.py
/gem5/src/arch/x86/isa/insts/sse/convert.py
/gem5/src/arch/x86/isa/insts/sse/logical.py
/gem5/src/arch/x86/isa/insts/sse/move.py
/gem5/src/arch/x86/isa/insts/sse/multiply_and_divide.py
/gem5/src/arch/x86/isa/insts/sse/square_root.py
/gem5/src/arch/x86/isa/insts/string/__init__.py
/gem5/src/arch/x86/isa/insts/string/compare_strings.py
/gem5/src/arch/x86/isa/insts/string/load_string.py
/gem5/src/arch/x86/isa/insts/string/move_string.py
/gem5/src/arch/x86/isa/insts/string/scan_string.py
/gem5/src/arch/x86/isa/insts/string/store_string.py
/gem5/src/arch/x86/isa/insts/system_calls.py
/gem5/src/arch/x86/isa/insts/x87/__init__.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/change_sign.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/division.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/partial_remainder.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/round.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/square_root.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/__init__.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/classify.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/floating_point_ordered_compare.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/floating_point_unordered_compare.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/integer_compare.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/test.py
/gem5/src/arch/x86/isa/insts/x87/control/__init__.py
/gem5/src/arch/x86/isa/insts/x87/control/clear_exceptions.py
/gem5/src/arch/x86/isa/insts/x87/control/initialize.py
/gem5/src/arch/x86/isa/insts/x87/control/save_and_restore_x87_control_word.py
/gem5/src/arch/x86/isa/insts/x87/control/save_and_restore_x87_environment.py
/gem5/src/arch/x86/isa/insts/x87/control/save_x87_status_word.py
/gem5/src/arch/x86/isa/insts/x87/control/wait_for_exceptions.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/__init__.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/conditional_move.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/convert_and_load_or_store_bcd.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/convert_and_load_or_store_integer.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/exchange.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/extract.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/load_or_store_floating_point.py
/gem5/src/arch/x86/isa/insts/x87/load_constants/__init__.py
/gem5/src/arch/x86/isa/insts/x87/load_constants/load_0_1_or_pi.py
/gem5/src/arch/x86/isa/insts/x87/load_constants/load_logarithm.py
/gem5/src/arch/x86/isa/insts/x87/no_operation.py
/gem5/src/arch/x86/isa/insts/x87/stack_management/__init__.py
/gem5/src/arch/x86/isa/insts/x87/stack_management/clear_state.py
/gem5/src/arch/x86/isa/insts/x87/stack_management/stack_control.py
/gem5/src/arch/x86/isa/insts/x87/transcendental_functions/__init__.py
/gem5/src/arch/x86/isa/insts/x87/transcendental_functions/logarithmic_functions.py
/gem5/src/arch/x86/isa/insts/x87/transcendental_functions/trigonometric_functions.py