Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
84ddb681
Commit
84ddb681
authored
Jun 19, 2012
by
Richard Henderson
Committed by
Richard Henderson
Jun 19, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use synth_mult for vector multiplies vs scalar constant
From-SVN: r188786
parent
6bc0ff89
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
3 deletions
+19
-3
gcc/ChangeLog
+11
-0
gcc/expmed.c
+0
-0
gcc/machmode.h
+8
-3
No files found.
gcc/ChangeLog
View file @
84ddb681
2012-06-19 Richard Henderson <rth@redhat.com>
2012-06-19 Richard Henderson <rth@redhat.com>
* expmed.c (struct init_expmed_rtl): Split ...
(init_expmed_one_mode): ... out of ...
(init_expmed): ... here. Initialize integer vector modes also.
(synth_mult): Handle integer vector modes.
(choose_mult_variant): Likewise.
(expand_mult_const): Likewise.
(expand_mult): Likewise.
* machmode.h (GET_MODE_UNIT_BITSIZE): New.
2012-06-19 Richard Henderson <rth@redhat.com>
* config/i386/i386.c (ix86_rtx_costs): Handle CONST_VECTOR, and
* config/i386/i386.c (ix86_rtx_costs): Handle CONST_VECTOR, and
integral vector modes.
integral vector modes.
...
...
gcc/expmed.c
View file @
84ddb681
This diff is collapsed.
Click to expand it.
gcc/machmode.h
View file @
84ddb681
/* Machine mode definitions for GCC; included by rtl.h and tree.h.
/* Machine mode definitions for GCC; included by rtl.h and tree.h.
Copyright (C) 1991, 1993, 1994, 1996, 1998, 1999, 2000, 2001, 2003,
Copyright (C) 1991, 1993, 1994, 1996, 1998, 1999, 2000, 2001, 2003,
2007, 2008, 2009, 2010 Free Software Foundation, Inc.
2007, 2008, 2009, 2010
, 2012
Free Software Foundation, Inc.
This file is part of GCC.
This file is part of GCC.
...
@@ -179,7 +179,8 @@ extern const unsigned char mode_class[NUM_MACHINE_MODES];
...
@@ -179,7 +179,8 @@ extern const unsigned char mode_class[NUM_MACHINE_MODES];
extern
CONST_MODE_SIZE
unsigned
char
mode_size
[
NUM_MACHINE_MODES
];
extern
CONST_MODE_SIZE
unsigned
char
mode_size
[
NUM_MACHINE_MODES
];
#define GET_MODE_SIZE(MODE) ((unsigned short) mode_size[MODE])
#define GET_MODE_SIZE(MODE) ((unsigned short) mode_size[MODE])
#define GET_MODE_BITSIZE(MODE) ((unsigned short) (GET_MODE_SIZE (MODE) * BITS_PER_UNIT))
#define GET_MODE_BITSIZE(MODE) \
((unsigned short) (GET_MODE_SIZE (MODE) * BITS_PER_UNIT))
/* Get the number of value bits of an object of mode MODE. */
/* Get the number of value bits of an object of mode MODE. */
extern
const
unsigned
short
mode_precision
[
NUM_MACHINE_MODES
];
extern
const
unsigned
short
mode_precision
[
NUM_MACHINE_MODES
];
...
@@ -205,13 +206,17 @@ extern const unsigned HOST_WIDE_INT mode_mask_array[NUM_MACHINE_MODES];
...
@@ -205,13 +206,17 @@ extern const unsigned HOST_WIDE_INT mode_mask_array[NUM_MACHINE_MODES];
extern
const
unsigned
char
mode_inner
[
NUM_MACHINE_MODES
];
extern
const
unsigned
char
mode_inner
[
NUM_MACHINE_MODES
];
#define GET_MODE_INNER(MODE) ((enum machine_mode) mode_inner[MODE])
#define GET_MODE_INNER(MODE) ((enum machine_mode) mode_inner[MODE])
/* Get the size in bytes of the basic parts of an object of mode MODE. */
/* Get the size in bytes or bites of the basic parts of an
object of mode MODE. */
#define GET_MODE_UNIT_SIZE(MODE) \
#define GET_MODE_UNIT_SIZE(MODE) \
(GET_MODE_INNER (MODE) == VOIDmode \
(GET_MODE_INNER (MODE) == VOIDmode \
? GET_MODE_SIZE (MODE) \
? GET_MODE_SIZE (MODE) \
: GET_MODE_SIZE (GET_MODE_INNER (MODE)))
: GET_MODE_SIZE (GET_MODE_INNER (MODE)))
#define GET_MODE_UNIT_BITSIZE(MODE) \
((unsigned short) (GET_MODE_UNIT_SIZE (MODE) * BITS_PER_UNIT))
/* Get the number of units in the object. */
/* Get the number of units in the object. */
extern
const
unsigned
char
mode_nunits
[
NUM_MACHINE_MODES
];
extern
const
unsigned
char
mode_nunits
[
NUM_MACHINE_MODES
];
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment