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>
* 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
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.
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.
...
...
@@ -179,7 +179,8 @@ extern const unsigned char mode_class[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_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. */
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];
extern
const
unsigned
char
mode_inner
[
NUM_MACHINE_MODES
];
#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) \
(GET_MODE_INNER (MODE) == VOIDmode \
? GET_MODE_SIZE (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. */
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