]> git.ipfire.org Git - thirdparty/qemu.git/commit
Hexagon (target/hexagon) Additional instructions handled by idef-parser
authorTaylor Simpson <tsimpson@quicinc.com>
Wed, 26 Apr 2023 17:32:32 +0000 (10:32 -0700)
committerTaylor Simpson <tsimpson@quicinc.com>
Thu, 18 May 2023 19:40:52 +0000 (12:40 -0700)
commit163e5fa38e47281f8e83946794f6c202749bff32
treee20f354a90bb550325c608867085cc7fc1bd197d
parent0fc56c437566f15e3fe54b568951eecb3cd68bf3
Hexagon (target/hexagon) Additional instructions handled by idef-parser

**** Changes in v3 ****
Fix bugs exposed by dpmpyss_rnd_s0 instruction
    Set correct size/signedness for constants
    Test cases added to tests/tcg/hexagon/misc.c

**** Changes in v2 ****
Fix bug in imm_print identified in clang build

Currently, idef-parser skips all floating point instructions.  However,
there are some floating point instructions that can be handled.

The following instructions are now parsed
    F2_sfimm_p
    F2_sfimm_n
    F2_dfimm_p
    F2_dfimm_n
    F2_dfmpyll
    F2_dfmpylh

To make these instructions work, we fix some bugs in parser-helpers.c
    gen_rvalue_extend
    gen_cast_op
    imm_print
    lexer properly sets size/signedness of constants

Test cases added to tests/tcg/hexagon/fpstuff.c

Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Tested-by: Anton Johansson <anjo@rev.ng>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20230501203125.4025991-1-tsimpson@quicinc.com>
target/hexagon/gen_idef_parser_funcs.py
target/hexagon/idef-parser/idef-parser.lex
target/hexagon/idef-parser/idef-parser.y
target/hexagon/idef-parser/parser-helpers.c
target/hexagon/idef-parser/parser-helpers.h
tests/tcg/hexagon/fpstuff.c
tests/tcg/hexagon/misc.c