diff mbox series

MIPS: Add support for -mcrc and -mginv options

Message ID f95da1eb3e434552a0634d709a7e041a@mips.com
State New
Headers show
Series MIPS: Add support for -mcrc and -mginv options | expand

Commit Message

Robert Suchanek June 1, 2018, 12:12 p.m. UTC
Hi,

This patch adds -mcrc and -mginv options to pass through them
to the assembler.

Regards,
Robert

gcc/ChangeLog:

2018-06-01  Matthew Fortune  <matthew.fortune@mips.com>

	* config/mips/mips.h (ASM_SPEC): Pass through -mcrc, -mno-crc,
	-mginv and -mno-ginv to the assembler.
	* config/mips/mips.opt (-mcrc): New option.
	(-mginv): Likewise.
	* doc/invoke.text (-mcrc): Document.
	(-mginv): Likewise.
---
 gcc/config/mips/mips.h   |  2 ++
 gcc/config/mips/mips.opt |  8 ++++++++
 gcc/doc/invoke.texi      | 14 ++++++++++++++
 3 files changed, 24 insertions(+)

Comments

Matthew Fortune June 11, 2018, 10 a.m. UTC | #1
Robert Suchanek <Robert.Suchanek@mips.com> writes:
> This patch adds -mcrc and -mginv options to pass through them
> to the assembler.
> 
> Regards,
> Robert
> 
> gcc/ChangeLog:
> 
> 2018-06-01  Matthew Fortune  <matthew.fortune@mips.com>
> 
> 	* config/mips/mips.h (ASM_SPEC): Pass through -mcrc, -mno-crc,
> 	-mginv and -mno-ginv to the assembler.
> 	* config/mips/mips.opt (-mcrc): New option.
> 	(-mginv): Likewise.
> 	* doc/invoke.text (-mcrc): Document.
> 	(-mginv): Likewise.

The patch is OK but should probably wait until the binutils support is
committed. I see CRC ASE support in discussion up until:

https://sourceware.org/ml/binutils/2017-12/msg00069.html

And GINV support up to:

https://sourceware.org/ml/binutils/2018-01/msg00125.html

Thanks,
Matthew
Matthew Fortune June 15, 2018, 12:02 p.m. UTC | #2
Robert Suchanek <Robert.Suchanek@mips.com> writes:
> This patch adds -mcrc and -mginv options to pass through them
> to the assembler.
> 
> Regards,
> Robert
> 
> gcc/ChangeLog:
> 
> 2018-06-01  Matthew Fortune  <matthew.fortune@mips.com>
> 
> 	* config/mips/mips.h (ASM_SPEC): Pass through -mcrc, -mno-crc,
> 	-mginv and -mno-ginv to the assembler.
> 	* config/mips/mips.opt (-mcrc): New option.
> 	(-mginv): Likewise.
> 	* doc/invoke.text (-mcrc): Document.
> 	(-mginv): Likewise.

Since CRC and GINV ASEs have now been committed to binutils, please
go ahead with this change.

Thanks,
Matthew
Robert Suchanek June 15, 2018, 3:52 p.m. UTC | #3
Hi,

> Since CRC and GINV ASEs have now been committed to binutils, please go
> ahead with this change.

This is now committed as r261635.

Robert
diff mbox series

Patch

diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index f290560..13c30f0 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -1354,6 +1354,8 @@  struct mips_cpu_info {
 %{meva} %{mno-eva} \
 %{mvirt} %{mno-virt} \
 %{mxpa} %{mno-xpa} \
+%{mcrc} %{mno-crc} \
+%{mginv} %{mno-ginv} \
 %{mmsa} %{mno-msa} \
 %{msmartmips} %{mno-smartmips} \
 %{mmt} %{mno-mt} \
diff --git a/gcc/config/mips/mips.opt b/gcc/config/mips/mips.opt
index 545da54..5a9f255 100644
--- a/gcc/config/mips/mips.opt
+++ b/gcc/config/mips/mips.opt
@@ -412,6 +412,14 @@  mxpa
 Target Report Var(TARGET_XPA)
 Use eXtended Physical Address (XPA) instructions.
 
+mcrc
+Target Report Var(TARGET_CRC)
+Use Cyclic Redundancy Check (CRC) instructions.
+
+mginv
+Target Report Var(TARGET_GINV)
+Use Global INValidate (GINV) instructions.
+
 mvr4130-align
 Target Report Mask(VR4130_ALIGN)
 Perform VR4130-specific alignment optimizations.
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 53ef14c..bcb4c14 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -888,6 +888,8 @@  Objective-C and Objective-C++ Dialects}.
 -meva  -mno-eva @gol
 -mvirt  -mno-virt @gol
 -mxpa  -mno-xpa @gol
+-mcrc -mno-crc @gol
+-mginv -mno-ginv @gol
 -mmicromips  -mno-micromips @gol
 -mmsa  -mno-msa @gol
 -mfpu=@var{fpu-type} @gol
@@ -20701,6 +20703,18 @@  Use (do not use) the MIPS Virtualization (VZ) instructions.
 @opindex mno-xpa
 Use (do not use) the MIPS eXtended Physical Address (XPA) instructions.
 
+@item -mcrc
+@itemx -mno-crc
+@opindex mcrc
+@opindex mno-crc
+Use (do not use) the MIPS Cyclic Redundancy Check (CRC) instructions.
+
+@item -mginv
+@itemx -mno-ginv
+@opindex mginv
+@opindex mno-ginv
+Use (do not use) the MIPS Global INValidate (GINV) instructions.
+
 @item -mlong64
 @opindex mlong64
 Force @code{long} types to be 64 bits wide.  See @option{-mlong32} for