[v2,0/3] Add support for LoongArch V1.1 instructions

Message ID 20231026093646.20609-1-c@jia.je
Headers
Series Add support for LoongArch V1.1 instructions |

Message

Jiajie Chen Oct. 26, 2023, 9:35 a.m. UTC
  LoongArch V1.1 release is out at
https://www.loongson.cn/uploads/images/2023102309132647981.%E9%BE%99%E8%8A%AF%E6%9E%B6%E6%9E%84%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E5%8D%B7%E4%B8%80_r1p10.pdf.

It brings the following new instructions:

- atomic cas: amcas{_db}.b/h/w/d
- ll-sc: sc.q, llacq.w/d, screl.w/d
- estimated reciprocal: frecipe/frsqrte and their vector counterpart

Support and tests for these new instructions are added.

Changes since v1:

- Add support for "sc.q r4, r5, r6, 0" and "llacq.w/d / screl.w/d r4,
  r5, 0"

Jiajie Chen (3):
  as: Add new atomic instructions in LoongArch v1.1
  as: Add new estimated reciprocal instructions in LoongArch v1.1
  gas: add loongarch v1.1 to NEWS

 gas/NEWS                                    |  2 +
 gas/config/tc-loongarch.c                   |  6 ++-
 gas/testsuite/gas/loongarch/float_op.d      |  4 ++
 gas/testsuite/gas/loongarch/float_op.s      |  4 ++
 gas/testsuite/gas/loongarch/load_store_op.d | 42 ++++++++++++++++
 gas/testsuite/gas/loongarch/load_store_op.s | 42 ++++++++++++++++
 gas/testsuite/gas/loongarch/vector.d        |  8 +++
 gas/testsuite/gas/loongarch/vector.s        |  8 +++
 opcodes/loongarch-opc.c                     | 54 +++++++++++++++++++++
 9 files changed, 168 insertions(+), 2 deletions(-)
  

Comments

Xi Ruoyao Nov. 15, 2023, 11:59 p.m. UTC | #1
Ping.  Now we are very close to the end of GCC 14 stage 1 and we need
Binutils support for adding LA664 features into GCC.

On Thu, 2023-10-26 at 17:35 +0800, Jiajie Chen wrote:
> LoongArch V1.1 release is out at
> https://www.loongson.cn/uploads/images/2023102309132647981.%E9%BE%99%E8%8A%AF%E6%9E%B6%E6%9E%84%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E5%8D%B7%E4%B8%80_r1p10.pdf.
> 
> It brings the following new instructions:
> 
> - atomic cas: amcas{_db}.b/h/w/d
> - ll-sc: sc.q, llacq.w/d, screl.w/d
> - estimated reciprocal: frecipe/frsqrte and their vector counterpart
> 
> Support and tests for these new instructions are added.
> 
> Changes since v1:
> 
> - Add support for "sc.q r4, r5, r6, 0" and "llacq.w/d / screl.w/d r4,
>   r5, 0"
> 
> Jiajie Chen (3):
>   as: Add new atomic instructions in LoongArch v1.1
>   as: Add new estimated reciprocal instructions in LoongArch v1.1
>   gas: add loongarch v1.1 to NEWS
> 
>  gas/NEWS                                    |  2 +
>  gas/config/tc-loongarch.c                   |  6 ++-
>  gas/testsuite/gas/loongarch/float_op.d      |  4 ++
>  gas/testsuite/gas/loongarch/float_op.s      |  4 ++
>  gas/testsuite/gas/loongarch/load_store_op.d | 42 ++++++++++++++++
>  gas/testsuite/gas/loongarch/load_store_op.s | 42 ++++++++++++++++
>  gas/testsuite/gas/loongarch/vector.d        |  8 +++
>  gas/testsuite/gas/loongarch/vector.s        |  8 +++
>  opcodes/loongarch-opc.c                     | 54 +++++++++++++++++++++
>  9 files changed, 168 insertions(+), 2 deletions(-)
>
  
mengqinggang Nov. 16, 2023, 3:02 a.m. UTC | #2
It waiting for an English manual.


在 2023/11/16 上午7:59, Xi Ruoyao 写道:
> Ping.  Now we are very close to the end of GCC 14 stage 1 and we need
> Binutils support for adding LA664 features into GCC.
>
> On Thu, 2023-10-26 at 17:35 +0800, Jiajie Chen wrote:
>> LoongArch V1.1 release is out at
>> https://www.loongson.cn/uploads/images/2023102309132647981.%E9%BE%99%E8%8A%AF%E6%9E%B6%E6%9E%84%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E5%8D%B7%E4%B8%80_r1p10.pdf.
>>
>> It brings the following new instructions:
>>
>> - atomic cas: amcas{_db}.b/h/w/d
>> - ll-sc: sc.q, llacq.w/d, screl.w/d
>> - estimated reciprocal: frecipe/frsqrte and their vector counterpart
>>
>> Support and tests for these new instructions are added.
>>
>> Changes since v1:
>>
>> - Add support for "sc.q r4, r5, r6, 0" and "llacq.w/d / screl.w/d r4,
>>    r5, 0"
>>
>> Jiajie Chen (3):
>>    as: Add new atomic instructions in LoongArch v1.1
>>    as: Add new estimated reciprocal instructions in LoongArch v1.1
>>    gas: add loongarch v1.1 to NEWS
>>
>>   gas/NEWS                                    |  2 +
>>   gas/config/tc-loongarch.c                   |  6 ++-
>>   gas/testsuite/gas/loongarch/float_op.d      |  4 ++
>>   gas/testsuite/gas/loongarch/float_op.s      |  4 ++
>>   gas/testsuite/gas/loongarch/load_store_op.d | 42 ++++++++++++++++
>>   gas/testsuite/gas/loongarch/load_store_op.s | 42 ++++++++++++++++
>>   gas/testsuite/gas/loongarch/vector.d        |  8 +++
>>   gas/testsuite/gas/loongarch/vector.s        |  8 +++
>>   opcodes/loongarch-opc.c                     | 54 +++++++++++++++++++++
>>   9 files changed, 168 insertions(+), 2 deletions(-)
>>
  
Xi Ruoyao Nov. 16, 2023, 1:43 p.m. UTC | #3
On Thu, 2023-11-16 at 11:02 +0800, mengqinggang wrote:
> It waiting for an English manual.

I guess the manual will be released on Nov 28, but GCC 14 stage 1 ends
on Nov 19.

Does the mnemonics in this series look OK to you?  If yes then I can
start to use them in GCC (and a document change for minimal GAS version
required by -mxxx options can be added in Stage 3 or 4).
  
mengqinggang Nov. 17, 2023, 1:22 a.m. UTC | #4
Yeah, it look OK to me.


在 2023/11/16 下午9:43, Xi Ruoyao 写道:
> On Thu, 2023-11-16 at 11:02 +0800, mengqinggang wrote:
>> It waiting for an English manual.
> I guess the manual will be released on Nov 28, but GCC 14 stage 1 ends
> on Nov 19.
>
> Does the mnemonics in this series look OK to you?  If yes then I can
> start to use them in GCC (and a document change for minimal GAS version
> required by -mxxx options can be added in Stage 3 or 4).
>
  
mengqinggang Nov. 17, 2023, 9:28 a.m. UTC | #5
The V1.1 English manual has been released at:

     https://github.com/loongson/LoongArch-Documentation


在 2023/11/16 下午9:43, Xi Ruoyao 写道:
> On Thu, 2023-11-16 at 11:02 +0800, mengqinggang wrote:
>> It waiting for an English manual.
> I guess the manual will be released on Nov 28, but GCC 14 stage 1 ends
> on Nov 19.
>
> Does the mnemonics in this series look OK to you?  If yes then I can
> start to use them in GCC (and a document change for minimal GAS version
> required by -mxxx options can be added in Stage 3 or 4).
>
  
mengqinggang Nov. 20, 2023, 9:10 a.m. UTC | #6
Please change the link to 
https://github.com/loongson/LoongArch-Documentation.


在 2023/10/26 下午5:35, Jiajie Chen 写道:
> LoongArch V1.1 release is out at
> https://www.loongson.cn/uploads/images/2023102309132647981.%E9%BE%99%E8%8A%AF%E6%9E%B6%E6%9E%84%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E5%8D%B7%E4%B8%80_r1p10.pdf.
>
> It brings the following new instructions:
>
> - atomic cas: amcas{_db}.b/h/w/d
> - ll-sc: sc.q, llacq.w/d, screl.w/d
> - estimated reciprocal: frecipe/frsqrte and their vector counterpart
>
> Support and tests for these new instructions are added.
>
> Changes since v1:
>
> - Add support for "sc.q r4, r5, r6, 0" and "llacq.w/d / screl.w/d r4,
>    r5, 0"
>
> Jiajie Chen (3):
>    as: Add new atomic instructions in LoongArch v1.1
>    as: Add new estimated reciprocal instructions in LoongArch v1.1
>    gas: add loongarch v1.1 to NEWS
>
>   gas/NEWS                                    |  2 +
>   gas/config/tc-loongarch.c                   |  6 ++-
>   gas/testsuite/gas/loongarch/float_op.d      |  4 ++
>   gas/testsuite/gas/loongarch/float_op.s      |  4 ++
>   gas/testsuite/gas/loongarch/load_store_op.d | 42 ++++++++++++++++
>   gas/testsuite/gas/loongarch/load_store_op.s | 42 ++++++++++++++++
>   gas/testsuite/gas/loongarch/vector.d        |  8 +++
>   gas/testsuite/gas/loongarch/vector.s        |  8 +++
>   opcodes/loongarch-opc.c                     | 54 +++++++++++++++++++++
>   9 files changed, 168 insertions(+), 2 deletions(-)
>