diff options
author | Kito Cheng <kito.cheng@gmail.com> | 2018-03-03 16:38:14 +0000 |
---|---|---|
committer | Chung-Ju Wu <jasonwucj@gcc.gnu.org> | 2018-03-03 16:38:14 +0000 |
commit | e576ddb5eb9a9101eef5ddf09666bc56274c350a (patch) | |
tree | df8092ad7e195b624e1685e1962fc9d8b6cbf9d5 /gcc/cp/optimize.c | |
parent | 7a12ea32b2cf7ee53d0c43e26e12eb41e9853db1 (diff) | |
download | gcc-e576ddb5eb9a9101eef5ddf09666bc56274c350a.zip gcc-e576ddb5eb9a9101eef5ddf09666bc56274c350a.tar.gz gcc-e576ddb5eb9a9101eef5ddf09666bc56274c350a.tar.bz2 |
[NDS32] Add intrinsic functions for unalignment memory access.
gcc/
* config/nds32/constants.md (unspec_element): New enum.
* config/nds32/constraints.md (Umw): New constraint.
* config/nds32/nds32-intrinsic.c: Add more builtin functions.
* config/nds32/nds32-intrinsic.md: Likewise.
* config/nds32/nds32-md-auxiliary.c (nds32_regno_to_enable4): New.
(nds32_valid_smw_lwm_base_p): New.
(nds32_output_smw_single_word): New.
(nds32_output_lmw_single_word): New.
(nds32_expand_unaligned_load): New.
(nds32_expand_unaligned_store): New.
* config/nds32/nds32-protos.h (nds32_valid_smw_lwm_base_p): Declare.
(nds32_output_smw_single_word): Declare.
(nds32_output_lmw_single_word): Declare.
(nds32_expand_unaligned_load): Declare.
(nds32_expand_unaligned_store): Declare.
* config/nds32/nds32.h (nds32_builtins): Add NDS32_BUILTIN_UALOAD_HW,
NDS32_BUILTIN_UALOAD_W, NDS32_BUILTIN_UALOAD_DW,
NDS32_BUILTIN_UASTORE_HW, NDS32_BUILTIN_UASTORE_W,
NDS32_BUILTIN_UASTORE_DW.
* config/nds32/predicates.md (nds32_lmw_smw_base_operand): New
predicate.
Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
From-SVN: r258214
Diffstat (limited to 'gcc/cp/optimize.c')
0 files changed, 0 insertions, 0 deletions