This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Add SSE4.2 support


Hello!

Here is my approach. I don't think OPTION_MASK_XXX is very useful
since you can always use Mask(FOO_XXX) to get MASK_FOO_XXX. As for
OPTION_XXX, it is no better than TARGET_XXX. We may have more
than one set of OPTION_XXXs. TARGET_FOO_XXX is more consistent than
OPTION_XXX. Many target mask flags need an explicit flag, like

This patch should be split into two patches, the patch that changes shared infrastructure and target dependant patch. I think that the best way is to get infrastructure patch approved and committed first, after that we can add target dependant patch(es) that uses this infrastructure. The infrastructure change should solve ppc problems, too (as mrs said).

According to MAINTAINERS, option handling is maintained by Neil Booth
so I'm CCing him.

@@ -1649,6 +1650,8 @@ override_options (void)
       const struct processor_costs *cost;	/* Processor costs */
       const int target_enable;			/* Target flags to enable.  */
       const int target_disable;			/* Target flags to disable.  */
+      const int target_isa_enable;		/* Target isa flags to enable.  */
+      const int target_isa_disable;		/* Target isa flags to disable.  */
       const int align_loop;			/* Default alignments.  */
       const int align_loop_max_skip;
       const int align_jump;

Do we need this addition? None of target_*_[enable|disable] part is used anywhere, so I think we could simply delete this field.

Uros.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]