tilegx-builtins.h (enum tilegx_builtin): Add TILEGX_INSN_SHUFFLEBYTES1.
* config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add TILEGX_INSN_SHUFFLEBYTES1. * config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for shufflebytes1. (tilegx_builtins): Ditto. * config/tilegx/tilegx.md (insn_shufflebytes1): New pattern. From-SVN: r197080
This commit is contained in:
parent
065a36055e
commit
0051d3ece0
4 changed files with 24 additions and 3 deletions
|
@ -1,9 +1,18 @@
|
|||
2013-03-25 Walter Lee <walt@tilera.com>
|
||||
|
||||
* config/tilegx/tilegx-builtins.h (enum tilegx_builtin): Add
|
||||
TILEGX_INSN_SHUFFLEBYTES1.
|
||||
* config/tilegx/tilegx.c (tilegx_builtin_info): Add entry for
|
||||
shufflebytes1.
|
||||
(tilegx_builtins): Ditto.
|
||||
* config/tilegx/tilegx.md (insn_shufflebytes1): New pattern.
|
||||
|
||||
2013-03-25 Walter Lee <walt@tilera.com>
|
||||
|
||||
* config/tilegx/tilegx.md (floatsisf2): New pattern.
|
||||
(floatunssisf2): New pattern.
|
||||
(floatsidf2): New pattern.
|
||||
(floatunssidf2): New pattern.
|
||||
(floatunssisf2): New pattern.
|
||||
(floatsidf2): New pattern.
|
||||
(floatunssidf2): New pattern.
|
||||
|
||||
2013-03-25 Walter Lee <walt@tilera.com>
|
||||
|
||||
|
|
|
@ -193,6 +193,7 @@ enum tilegx_builtin
|
|||
TILEGX_INSN_SHRU,
|
||||
TILEGX_INSN_SHRUX,
|
||||
TILEGX_INSN_SHUFFLEBYTES,
|
||||
TILEGX_INSN_SHUFFLEBYTES1,
|
||||
TILEGX_INSN_ST,
|
||||
TILEGX_INSN_ST1,
|
||||
TILEGX_INSN_ST2,
|
||||
|
|
|
@ -2897,6 +2897,7 @@ static struct tile_builtin_info tilegx_builtin_info[TILEGX_BUILTIN_max] = {
|
|||
{ CODE_FOR_lshrdi3, NULL }, /* shru */
|
||||
{ CODE_FOR_lshrsi3, NULL }, /* shrux */
|
||||
{ CODE_FOR_insn_shufflebytes, NULL }, /* shufflebytes */
|
||||
{ CODE_FOR_insn_shufflebytes1, NULL }, /* shufflebytes1 */
|
||||
{ CODE_FOR_insn_st, NULL }, /* st */
|
||||
{ CODE_FOR_insn_st1, NULL }, /* st1 */
|
||||
{ CODE_FOR_insn_st2, NULL }, /* st2 */
|
||||
|
@ -3225,6 +3226,7 @@ static const struct tilegx_builtin_def tilegx_builtins[] = {
|
|||
{ "__insn_shrux", TILEGX_INSN_SHRUX, true, "iii" },
|
||||
{ "__insn_shruxi", TILEGX_INSN_SHRUX, true, "iii" },
|
||||
{ "__insn_shufflebytes", TILEGX_INSN_SHUFFLEBYTES, true, "llll" },
|
||||
{ "__insn_shufflebytes1", TILEGX_INSN_SHUFFLEBYTES1, true, "lll" },
|
||||
{ "__insn_st", TILEGX_INSN_ST, false, "vpl" },
|
||||
{ "__insn_st1", TILEGX_INSN_ST1, false, "vpl" },
|
||||
{ "__insn_st2", TILEGX_INSN_ST2, false, "vpl" },
|
||||
|
|
|
@ -3959,6 +3959,15 @@
|
|||
"shufflebytes\t%0, %r2, %r3"
|
||||
[(set_attr "type" "X0")])
|
||||
|
||||
(define_insn "insn_shufflebytes1"
|
||||
[(set (match_operand:DI 0 "register_operand" "=r")
|
||||
(unspec:DI [(match_operand:DI 1 "reg_or_0_operand" "rO")
|
||||
(match_operand:DI 2 "reg_or_0_operand" "rO")]
|
||||
UNSPEC_INSN_SHUFFLEBYTES))]
|
||||
""
|
||||
"shufflebytes\t%0, %r1, %r2"
|
||||
[(set_attr "type" "X0")])
|
||||
|
||||
;; stores
|
||||
|
||||
(define_expand "insn_st"
|
||||
|
|
Loading…
Add table
Reference in a new issue