Skip to content
This repository was archived by the owner on May 7, 2024. It is now read-only.

Commit 418ddbd

Browse files
committed
update testcases
1 parent cd35a41 commit 418ddbd

File tree

10 files changed

+81
-13
lines changed

10 files changed

+81
-13
lines changed
Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
/* smar64 also appears on filename, so scan-assembler-times plus 1 */
22
/* This is a test program for smar64 instruction. */
33
/* { dg-do compile { target riscv32*-*-* } } */
4-
/* { dg-options "-march=rv32gc_zpn_zpsf -mabi=ilp32d -O0" } */
4+
/* { dg-options "-march=rv32gc_zpn_zpsf -mabi=ilp32d -O2" } */
55

66
#include <rvp_intrinsic.h>
77
#include <stdlib.h>
88

9-
static __attribute__ ((noinline))
10-
int64_t rams (int64_t t, int a, int b)
9+
int64_t rams (int64_t t, int32_t a, int32_t b)
1110
{
1211
return __rv_smar64 (t, a, b);
1312
}
14-
/* { dg-final { scan-assembler-times "smar64" 2 } } */
13+
14+
int64_t test_autogen(int64_t t, int32_t a, int32_t b) {
15+
return t + (int64_t)a * (int64_t)b;
16+
}
17+
18+
/* { dg-final { scan-assembler-times "smar64" 3 } } */
1519
/* { dg-final { scan-assembler-times "builtin_riscv" 0 } } */
Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
/* smsr64 also appears on filename, so scan-assembler-times plus 1 */
22
/* This is a test program for smsr64 instruction. */
33
/* { dg-do compile { target riscv32*-*-* } } */
4-
/* { dg-options "-march=rv32gc_zpn_zpsf -mabi=ilp32d -O0" } */
4+
/* { dg-options "-march=rv32gc_zpn_zpsf -mabi=ilp32d -O2" } */
55

66
#include <rvp_intrinsic.h>
77
#include <stdlib.h>
88

9-
static __attribute__ ((noinline))
109
int64_t rsms (int64_t t, int a, int b)
1110
{
1211
return __rv_smsr64 (t, a, b);
1312
}
14-
/* { dg-final { scan-assembler-times "smsr64" 2 } } */
13+
14+
int64_t test_autogen(int64_t t, int32_t a, int32_t b) {
15+
return t - (int64_t)a * (int64_t)b;
16+
}
17+
18+
/* { dg-final { scan-assembler-times "smsr64" 3 } } */
1519
/* { dg-final { scan-assembler-times "builtin_riscv" 0 } } */

gcc/testsuite/gcc.target/riscv/rvp32_scan/builtin-rvp-umar64.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,14 @@
66
#include <rvp_intrinsic.h>
77
#include <stdlib.h>
88

9-
static __attribute__ ((noinline))
109
uint64_t ramu (uint64_t t,unsigned int a,unsigned int b)
1110
{
1211
return __rv_umar64 (t, a, b);
1312
}
14-
/* { dg-final { scan-assembler-times "umar64" 2 } } */
13+
14+
uint64_t test_autogen(uint64_t t, uint32_t a, uint32_t b) {
15+
return t + (uint64_t)a * (uint64_t)b;
16+
}
17+
18+
/* { dg-final { scan-assembler-times "umar64" 3 } } */
1519
/* { dg-final { scan-assembler-times "builtin_riscv" 0 } } */

gcc/testsuite/gcc.target/riscv/rvp32_scan/builtin-rvp-umsr64.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,14 @@
66
#include <rvp_intrinsic.h>
77
#include <stdlib.h>
88

9-
static __attribute__ ((noinline))
109
uint64_t rsmu (uint64_t t, unsigned int a, unsigned int b)
1110
{
1211
return __rv_umsr64 (t, a, b);
1312
}
14-
/* { dg-final { scan-assembler-times "umsr64" 2 } } */
13+
14+
uint64_t test_autogen(uint64_t t, uint32_t a, uint32_t b) {
15+
return t - (uint64_t)a * (uint64_t)b;
16+
}
17+
18+
/* { dg-final { scan-assembler-times "umsr64" 3 } } */
1519
/* { dg-final { scan-assembler-times "builtin_riscv" 0 } } */

gcc/testsuite/gcc.target/riscv/rvp64_scan/builtin-rvp64-kaddh.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#include <rvp_intrinsic.h>
66
#include <stdlib.h>
77
static __attribute__ ((noinline))
8-
int32_t hddak (int32_t ra, int32_t rb)
8+
int32_t hddak (int16_t ra, int16_t rb)
99
{
1010
return __rv_kaddh (ra, rb);
1111
}

gcc/testsuite/gcc.target/riscv/rvp64_scan/builtin-rvp64-ksubh.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#include <rvp_intrinsic.h>
66
#include <stdlib.h>
77
static __attribute__ ((noinline))
8-
int hbusk (int ra, int rb)
8+
int32_t hbusk (int16_t ra, int16_t rb)
99
{
1010
return __rv_ksubh (ra, rb);
1111
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/* ukaddh also appears on filename, so scan-assembler-times plus 1 */
2+
/* This is a test program for ukaddh instruction. */
3+
/* { dg-do compile { target riscv64*-*-* } } */
4+
/* { dg-options "-march=rv64gc_zpn_zpsf -mabi=lp64d -O0" } */
5+
#include <rvp_intrinsic.h>
6+
#include <stdlib.h>
7+
static __attribute__ ((noinline))
8+
uint32_t hddak (uint16_t ra, uint16_t rb)
9+
{
10+
return __rv_ukaddh (ra, rb);
11+
}
12+
/* { dg-final { scan-assembler-times "ukaddh" 2 } } */
13+
/* { dg-final { scan-assembler-times "builtin_riscv" 0 } } */
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/* ukaddw also appears on filename, so scan-assembler-times plus 1 */
2+
/* This is a test program for ukaddw instruction. */
3+
/* { dg-do compile { target riscv64*-*-* } } */
4+
/* { dg-options "-march=rv64gc_zpn_zpsf -mabi=lp64d -O0" } */
5+
#include <rvp_intrinsic.h>
6+
#include <stdlib.h>
7+
static __attribute__ ((noinline))
8+
int32_t wddak (int32_t ra, int32_t rb)
9+
{
10+
return __rv_ukaddw (ra, rb);
11+
}
12+
/* { dg-final { scan-assembler-times "ukaddw" 2 } } */
13+
/* { dg-final { scan-assembler-times "builtin_riscv" 0 } } */
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/* uksubh also appears on filename, so scan-assembler-times plus 1 */
2+
/* This is a test program for uksubh instruction. */
3+
/* { dg-do compile { target riscv64*-*-* } } */
4+
/* { dg-options "-march=rv64gc_zpn_zpsf -mabi=lp64d -O0" } */
5+
#include <rvp_intrinsic.h>
6+
#include <stdlib.h>
7+
static __attribute__ ((noinline))
8+
uint32_t hbusk (uint16_t ra, uint16_t rb)
9+
{
10+
return __rv_uksubh (ra, rb);
11+
}
12+
/* { dg-final { scan-assembler-times "uksubh" 2 } } */
13+
/* { dg-final { scan-assembler-times "builtin_riscv" 0 } } */
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/* uksubw also appears on filename, so scan-assembler-times plus 1 */
2+
/* This is a test program for uksubw instruction. */
3+
/* { dg-do compile { target riscv64*-*-* } } */
4+
/* { dg-options "-march=rv64gc_zpn_zpsf -mabi=lp64d -O0" } */
5+
#include <rvp_intrinsic.h>
6+
#include <stdlib.h>
7+
static __attribute__ ((noinline))
8+
uint32_t hbusk (uint32_t ra, uint32_t rb)
9+
{
10+
return __rv_uksubw (ra, rb);
11+
}
12+
/* { dg-final { scan-assembler-times "uksubw" 2 } } */
13+
/* { dg-final { scan-assembler-times "builtin_riscv" 0 } } */

0 commit comments

Comments
 (0)