Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adds semantics for the x86 SSE floating-point instructions #1466

Merged

Commits on Apr 13, 2022

  1. marks synthetic subroutines with proper attributes

    All synthetic subroutines are marked with the synthetic attribute,
    and special together with intrinsic functions are marked as
    intrinsic.
    ivg committed Apr 13, 2022
    Configuration menu
    Copy the full SHA
    d922cc2 View commit details
    Browse the repository at this point in the history
  2. prevents C ABI pass from clobbering registers on intrinsic calls

    a little bit hacky, but will make it better in the future
    ivg committed Apr 13, 2022
    Configuration menu
    Copy the full SHA
    820d22a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c84b5d3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c12dcc2 View commit details
    Browse the repository at this point in the history
  5. fixes a bug in the intrinisic primtive

    the repetitive parameters were ignored
    ivg committed Apr 13, 2022
    Configuration menu
    Copy the full SHA
    07a0c25 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3813229 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2b19171 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    f5637d9 View commit details
    Browse the repository at this point in the history
  9. relaxes the contraction predicate

    ivg committed Apr 13, 2022
    Configuration menu
    Copy the full SHA
    b48f8e5 View commit details
    Browse the repository at this point in the history
  10. fixes the pcode floating-point lifter

    we now are passing the tests!
    ivg committed Apr 13, 2022
    Configuration menu
    Copy the full SHA
    381afd6 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    9d082bf View commit details
    Browse the repository at this point in the history
  12. adds the ieee754-is-nan primitive

    ivg committed Apr 13, 2022
    Configuration menu
    Copy the full SHA
    a3608e5 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    6f88230 View commit details
    Browse the repository at this point in the history
  14. allows the normalization procedure to fail

    The Ghidra lifter generates code that is either invalid or our
    interpretation of it is not valid, e.g., `int3` instructioin on
    x86 is lifted as
    ```
    CALL x;
    RETURN y;
    ```
    
    where according to the documentation both CALL and RETURN should be
    treated initially as indirect jumps
    ivg committed Apr 13, 2022
    Configuration menu
    Copy the full SHA
    c3b0131 View commit details
    Browse the repository at this point in the history
  15. renames the system feature in Lisp context to the target-system

    to prevent clashing with the Primus Lisp systems
    ivg committed Apr 13, 2022
    Configuration menu
    Copy the full SHA
    b78ae26 View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2022

  1. Configuration menu
    Copy the full SHA
    04f8df0 View commit details
    Browse the repository at this point in the history
  2. disables x86 FP intrinsic semantics when the legacy lifter is used

    Otherwise, they both try to provide semantics that is conflicting.
    ivg committed Apr 14, 2022
    Configuration menu
    Copy the full SHA
    47cec64 View commit details
    Browse the repository at this point in the history
  3. adds the --x86-disable-floating-point-intrinsics as an escape hatch

    This option makes it possible to still use the old BIL plugin feature
    that translates unknown (to the BIL lifters) instructions into
    intrinsic calls.
    ivg committed Apr 14, 2022
    Configuration menu
    Copy the full SHA
    dddcf04 View commit details
    Browse the repository at this point in the history
  4. updates the testsuite revision

    ivg committed Apr 14, 2022
    Configuration menu
    Copy the full SHA
    1b95ae4 View commit details
    Browse the repository at this point in the history