public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/52144] New: ARM should support arm/thumb function attribute to permit different instruction sets in the same source
@ 2012-02-06 23:02 rafael.carre at gmail dot com
2012-02-06 23:03 ` [Bug target/52144] " pinskia at gcc dot gnu.org
` (10 more replies)
0 siblings, 11 replies; 12+ messages in thread
From: rafael.carre at gmail dot com @ 2012-02-06 23:02 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52144
Bug #: 52144
Summary: ARM should support arm/thumb function attribute to
permit different instruction sets in the same source
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: target
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: rafael.carre@gmail.com
Reference: First message of http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40419
Mixing thumb and ARM in the same source is currently not possible.
That would permit LTO to work when mixing those and close
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45729
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/52144] ARM should support arm/thumb function attribute to permit different instruction sets in the same source
2012-02-06 23:02 [Bug target/52144] New: ARM should support arm/thumb function attribute to permit different instruction sets in the same source rafael.carre at gmail dot com
@ 2012-02-06 23:03 ` pinskia at gcc dot gnu.org
2015-05-20 12:59 ` chrbr at gcc dot gnu.org
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2012-02-06 23:03 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52144
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target| |arm*-*-*
Status|UNCONFIRMED |NEW
Last reconfirmed| |2012-02-06
Ever Confirmed|0 |1
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-02-06 23:03:04 UTC ---
Confirmed.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/52144] ARM should support arm/thumb function attribute to permit different instruction sets in the same source
2012-02-06 23:02 [Bug target/52144] New: ARM should support arm/thumb function attribute to permit different instruction sets in the same source rafael.carre at gmail dot com
2012-02-06 23:03 ` [Bug target/52144] " pinskia at gcc dot gnu.org
@ 2015-05-20 12:59 ` chrbr at gcc dot gnu.org
2015-05-20 13:13 ` chrbr at gcc dot gnu.org
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: chrbr at gcc dot gnu.org @ 2015-05-20 12:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52144
chrbr at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |59884
CC| |joey.ye at arm dot com
--- Comment #2 from chrbr at gcc dot gnu.org ---
*** Bug 59884 has been marked as a duplicate of this bug. ***
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59884
[Bug 59884] Unexpected warning pragma GCC target
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/52144] ARM should support arm/thumb function attribute to permit different instruction sets in the same source
2012-02-06 23:02 [Bug target/52144] New: ARM should support arm/thumb function attribute to permit different instruction sets in the same source rafael.carre at gmail dot com
2012-02-06 23:03 ` [Bug target/52144] " pinskia at gcc dot gnu.org
2015-05-20 12:59 ` chrbr at gcc dot gnu.org
@ 2015-05-20 13:13 ` chrbr at gcc dot gnu.org
2015-05-26 14:06 ` chrbr at gcc dot gnu.org
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: chrbr at gcc dot gnu.org @ 2015-05-20 13:13 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52144
chrbr at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
CC| |chrbr at gcc dot gnu.org
--- Comment #3 from chrbr at gcc dot gnu.org ---
patch set posted :
(2.1/6) https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01185.html
(2.2/6) https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01198.html
(4/6) https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01537.html
(5.1/6) https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01539.html
(5.2/6) https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01558.html
(6 /6) https://gcc.gnu.org/ml/gcc-patches/2015-05/msg01542.html
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/52144] ARM should support arm/thumb function attribute to permit different instruction sets in the same source
2012-02-06 23:02 [Bug target/52144] New: ARM should support arm/thumb function attribute to permit different instruction sets in the same source rafael.carre at gmail dot com
` (2 preceding siblings ...)
2015-05-20 13:13 ` chrbr at gcc dot gnu.org
@ 2015-05-26 14:06 ` chrbr at gcc dot gnu.org
2015-06-10 7:51 ` chrbr at gcc dot gnu.org
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: chrbr at gcc dot gnu.org @ 2015-05-26 14:06 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52144
--- Comment #4 from chrbr at gcc dot gnu.org ---
Author: chrbr
Date: Tue May 26 14:06:17 2015
New Revision: 223699
URL: https://gcc.gnu.org/viewcvs?rev=223699&root=gcc&view=rev
Log:
2015-05-13 Christian Bruel <christian.bruel@st.com>
PR target/52144
* config/arm/arm.c (arm_option_check_internal)
(arm_option_params_internal): Check opts->target_flags to set macros.
(TREE_TARGET_ARM, TREE_TARGET_THUMB)
(TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
(TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
(builtin_define): Replaced with def_or_undef_macro.
* config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
(TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
(TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
(TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
(TARGET_ARM_FEATURE_LDREX_P)
(TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
(def_or_undef_macro): New function.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm-c.c
trunk/gcc/config/arm/arm.c
trunk/gcc/config/arm/arm.h
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/52144] ARM should support arm/thumb function attribute to permit different instruction sets in the same source
2012-02-06 23:02 [Bug target/52144] New: ARM should support arm/thumb function attribute to permit different instruction sets in the same source rafael.carre at gmail dot com
` (3 preceding siblings ...)
2015-05-26 14:06 ` chrbr at gcc dot gnu.org
@ 2015-06-10 7:51 ` chrbr at gcc dot gnu.org
2015-06-11 8:51 ` chrbr at gcc dot gnu.org
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: chrbr at gcc dot gnu.org @ 2015-06-10 7:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52144
--- Comment #5 from chrbr at gcc dot gnu.org ---
Author: chrbr
Date: Wed Jun 10 07:50:59 2015
New Revision: 224314
URL: https://gcc.gnu.org/viewcvs?rev=224314&root=gcc&view=rev
Log:
Add ARM/thumb attribute target
PR target/52144
* config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified):
Save.
* config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
(arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
* config/arm/arm.h (SWITCHABLE_TARGET): Define.
* config/arm/arm.c (arm_reset_previous_fndecl): New functions.
(arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
(arm_valid_target_attribute_p): Likewise.
(arm_set_current_function, arm_can_inline_p): Likewise.
(arm_valid_target_attribute_rec): Likewise.
(arm_previous_fndecl): New variable.
(TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
(TARGET_CAN_INLINE_P): Define.
(arm_asm_trampoline_template): Emit mode.
(arm_file_start): Don't set unified syntax.
(arm_declare_function_name): Set unified syntax and mode.
(arm_option_override): Init target_option_default_node.
and target_option_current_node.
* config/arm/arm.md (*call_value_symbol): Set mode when possible.
(*call_symbol): Likewise.
* doc/extend.texi: Document ARM/Thumb target attribute.
* doc/invoke.texi: Likewise.
* gcc.target/arm/attr_arm.c: New test
* gcc.target/arm/attr_arm-err.c: New test
* gcc.target/arm/attr_thumb.c: New test
* gcc.target/arm/attr_thumb-static.c: New test
Added:
trunk/gcc/testsuite/gcc.target/arm/attr_arm-err.c
trunk/gcc/testsuite/gcc.target/arm/attr_arm.c
trunk/gcc/testsuite/gcc.target/arm/attr_thumb-static.c
trunk/gcc/testsuite/gcc.target/arm/attr_thumb.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm-protos.h
trunk/gcc/config/arm/arm.c
trunk/gcc/config/arm/arm.h
trunk/gcc/config/arm/arm.md
trunk/gcc/config/arm/arm.opt
trunk/gcc/doc/extend.texi
trunk/gcc/doc/invoke.texi
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/52144] ARM should support arm/thumb function attribute to permit different instruction sets in the same source
2012-02-06 23:02 [Bug target/52144] New: ARM should support arm/thumb function attribute to permit different instruction sets in the same source rafael.carre at gmail dot com
` (4 preceding siblings ...)
2015-06-10 7:51 ` chrbr at gcc dot gnu.org
@ 2015-06-11 8:51 ` chrbr at gcc dot gnu.org
2015-06-19 6:59 ` chrbr at gcc dot gnu.org
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: chrbr at gcc dot gnu.org @ 2015-06-11 8:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52144
--- Comment #6 from chrbr at gcc dot gnu.org ---
Author: chrbr
Date: Thu Jun 11 08:51:17 2015
New Revision: 224365
URL: https://gcc.gnu.org/viewcvs?rev=224365&root=gcc&view=rev
Log:
Add ARM/thumb pragma target
PR target/52144
* config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
macros in ...
(arm_cpu_builtins): New function.
(arm_pragma_target_parse): Call arm_cpu_builtins.
* config/arm/arm-protos.h (arm_cpu_builtins): Declare.
(arm_register_target_pragmas): Likewise.
* config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
Call arm_register_target_pragmas.
* config/arm/arm-c.c (arm_register_target_pragmas): New function.
(arm_pragma_target_parse): Likewise.
PR target/52144
* gcc.target/arm/pragma_attribute.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/arm/pragma_attribute.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm-c.c
trunk/gcc/config/arm/arm-protos.h
trunk/gcc/config/arm/arm.h
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/52144] ARM should support arm/thumb function attribute to permit different instruction sets in the same source
2012-02-06 23:02 [Bug target/52144] New: ARM should support arm/thumb function attribute to permit different instruction sets in the same source rafael.carre at gmail dot com
` (5 preceding siblings ...)
2015-06-11 8:51 ` chrbr at gcc dot gnu.org
@ 2015-06-19 6:59 ` chrbr at gcc dot gnu.org
2015-06-22 7:32 ` chrbr at gcc dot gnu.org
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: chrbr at gcc dot gnu.org @ 2015-06-19 6:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52144
--- Comment #7 from chrbr at gcc dot gnu.org ---
Author: chrbr
Date: Fri Jun 19 06:58:22 2015
New Revision: 224638
URL: https://gcc.gnu.org/viewcvs?rev=224638&root=gcc&view=rev
Log:
PR target/66541
PR target/52144
* config/arm/arm.c (arm_set_current_function): Handle
explicit default options.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.c
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/52144] ARM should support arm/thumb function attribute to permit different instruction sets in the same source
2012-02-06 23:02 [Bug target/52144] New: ARM should support arm/thumb function attribute to permit different instruction sets in the same source rafael.carre at gmail dot com
` (6 preceding siblings ...)
2015-06-19 6:59 ` chrbr at gcc dot gnu.org
@ 2015-06-22 7:32 ` chrbr at gcc dot gnu.org
2015-06-22 8:22 ` chrbr at gcc dot gnu.org
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: chrbr at gcc dot gnu.org @ 2015-06-22 7:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52144
--- Comment #8 from chrbr at gcc dot gnu.org ---
Author: chrbr
Date: Mon Jun 22 07:32:15 2015
New Revision: 224721
URL: https://gcc.gnu.org/viewcvs?rev=224721&root=gcc&view=rev
Log:
Add -mflip-thumb for testing.
PR target/52144n
* config/arm/arm.c (add_attribute, arm_insert_attributes): New functions
(TARGET_INSERT_ATTRIBUTES): Define.
(thumb_flipper): New var.
* config/arm/arm.opt (-mflip-thumb): New switch.
PR target/52144
* gcc.target/arm/flip-thumb.c: New test.
Added:
trunk/gcc/testsuite/gcc.target/arm/flip-thumb.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.c
trunk/gcc/config/arm/arm.opt
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/52144] ARM should support arm/thumb function attribute to permit different instruction sets in the same source
2012-02-06 23:02 [Bug target/52144] New: ARM should support arm/thumb function attribute to permit different instruction sets in the same source rafael.carre at gmail dot com
` (7 preceding siblings ...)
2015-06-22 7:32 ` chrbr at gcc dot gnu.org
@ 2015-06-22 8:22 ` chrbr at gcc dot gnu.org
2015-07-07 7:56 ` chrbr at gcc dot gnu.org
2015-09-15 13:43 ` chrbr at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: chrbr at gcc dot gnu.org @ 2015-06-22 8:22 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52144
chrbr at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #9 from chrbr at gcc dot gnu.org ---
attribute ((thumb,arm)) should be fine for 6.0.0 r224722
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/52144] ARM should support arm/thumb function attribute to permit different instruction sets in the same source
2012-02-06 23:02 [Bug target/52144] New: ARM should support arm/thumb function attribute to permit different instruction sets in the same source rafael.carre at gmail dot com
` (8 preceding siblings ...)
2015-06-22 8:22 ` chrbr at gcc dot gnu.org
@ 2015-07-07 7:56 ` chrbr at gcc dot gnu.org
2015-09-15 13:43 ` chrbr at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: chrbr at gcc dot gnu.org @ 2015-07-07 7:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52144
--- Comment #10 from chrbr at gcc dot gnu.org ---
Author: chrbr
Date: Tue Jul 7 07:56:10 2015
New Revision: 225503
URL: https://gcc.gnu.org/viewcvs?rev=225503&root=gcc&view=rev
Log:
Cleanup arch file directive.
PR target/52144
* config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete.
PR target/52144
* gcc.target/arm/flip-thumb.c: Fix scan.
* gcc.target/arm/attr_thumb.c: Test for all targets. Fix scan.
* gcc.target/arm/attr_arm.c: Test for all targets. Fix scan.
* gcc.target/arm/attr_thumb-static.c: Test for all targets.
Fix return value.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/elf.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/arm/attr_arm.c
trunk/gcc/testsuite/gcc.target/arm/attr_thumb-static.c
trunk/gcc/testsuite/gcc.target/arm/attr_thumb.c
trunk/gcc/testsuite/gcc.target/arm/flip-thumb.c
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/52144] ARM should support arm/thumb function attribute to permit different instruction sets in the same source
2012-02-06 23:02 [Bug target/52144] New: ARM should support arm/thumb function attribute to permit different instruction sets in the same source rafael.carre at gmail dot com
` (9 preceding siblings ...)
2015-07-07 7:56 ` chrbr at gcc dot gnu.org
@ 2015-09-15 13:43 ` chrbr at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: chrbr at gcc dot gnu.org @ 2015-09-15 13:43 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52144
--- Comment #11 from chrbr at gcc dot gnu.org ---
Author: chrbr
Date: Tue Sep 15 13:43:17 2015
New Revision: 227795
URL: https://gcc.gnu.org/viewcvs?rev=227795&root=gcc&view=rev
Log:
2015-09-15 Christian Bruel <christian.bruel@st.com>
PR target/52144
* config/arm/arm.c (arm_option_params_internal): Remove opts parameter.
* config/arm/arm-c.c (arm_cpu_builtins): Declare static.
Remove flags parameter.
* config/arm/arm.h (TARGET_32BIT_P, TARGET_ARM_QBIT_P)
(TARGET_ARM_SAT_P, TARGET_IDIV_P, TARGET_HAVE_LDREX_P)
(TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P, TARGET_DSP_MULTIPLY_P)
(TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros
with...
(TARGET_ARM_SAT, TARGET_IDIV, TARGET_HAVE_LDREX)
(TARGET_HAVE_LDREXBH, TARGET_HAVE_LDREXD, TARGET_ARM_FEATURE_LDREX)
(TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Redefined macros.
* gcc/config/arm/arm-protos.h (arm_cpu_builtins): Remove declaration.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm-c.c
trunk/gcc/config/arm/arm-protos.h
trunk/gcc/config/arm/arm.c
trunk/gcc/config/arm/arm.h
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2015-09-15 13:43 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-06 23:02 [Bug target/52144] New: ARM should support arm/thumb function attribute to permit different instruction sets in the same source rafael.carre at gmail dot com
2012-02-06 23:03 ` [Bug target/52144] " pinskia at gcc dot gnu.org
2015-05-20 12:59 ` chrbr at gcc dot gnu.org
2015-05-20 13:13 ` chrbr at gcc dot gnu.org
2015-05-26 14:06 ` chrbr at gcc dot gnu.org
2015-06-10 7:51 ` chrbr at gcc dot gnu.org
2015-06-11 8:51 ` chrbr at gcc dot gnu.org
2015-06-19 6:59 ` chrbr at gcc dot gnu.org
2015-06-22 7:32 ` chrbr at gcc dot gnu.org
2015-06-22 8:22 ` chrbr at gcc dot gnu.org
2015-07-07 7:56 ` chrbr at gcc dot gnu.org
2015-09-15 13:43 ` chrbr at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).