From 735f5260fb42919a651ed8e381c9e1a11e753345 Mon Sep 17 00:00:00 2001 From: Pan Li Date: Thu, 14 Nov 2024 14:16:15 +0800 Subject: RISC-V: Rearrange the test files for scalar SAT_ADD [NFC] The test files of scalar SAT_ADD only has numbers as the suffix. Rearrange the file name to -{form number}-{target-type}. For example, test form 3 for uint32_t SAT_ADD will have -3-u32.c for asm check and -run-3-u32.c for the run test. The below test suites are passed for this patch. * The rv64gcv fully regression test. gcc/testsuite/ChangeLog: * gcc.target/riscv/sat_s_add-2.c: Move to... * gcc.target/riscv/sat_s_add-1-i16.c: ...here. * gcc.target/riscv/sat_s_add-3.c: Move to... * gcc.target/riscv/sat_s_add-1-i32.c: ...here. * gcc.target/riscv/sat_s_add-4.c: Move to... * gcc.target/riscv/sat_s_add-1-i64.c: ...here. * gcc.target/riscv/sat_s_add-1.c: Move to... * gcc.target/riscv/sat_s_add-1-i8.c: ...here. * gcc.target/riscv/sat_s_add-6.c: Move to... * gcc.target/riscv/sat_s_add-2-i16.c: ...here. * gcc.target/riscv/sat_s_add-7.c: Move to... * gcc.target/riscv/sat_s_add-2-i32.c: ...here. * gcc.target/riscv/sat_s_add-8.c: Move to... * gcc.target/riscv/sat_s_add-2-i64.c: ...here. * gcc.target/riscv/sat_s_add-5.c: Move to... * gcc.target/riscv/sat_s_add-2-i8.c: ...here. * gcc.target/riscv/sat_s_add-10.c: Move to... * gcc.target/riscv/sat_s_add-3-i16.c: ...here. * gcc.target/riscv/sat_s_add-11.c: Move to... * gcc.target/riscv/sat_s_add-3-i32.c: ...here. * gcc.target/riscv/sat_s_add-12.c: Move to... * gcc.target/riscv/sat_s_add-3-i64.c: ...here. * gcc.target/riscv/sat_s_add-9.c: Move to... * gcc.target/riscv/sat_s_add-3-i8.c: ...here. * gcc.target/riscv/sat_s_add-14.c: Move to... * gcc.target/riscv/sat_s_add-4-i16.c: ...here. * gcc.target/riscv/sat_s_add-15.c: Move to... * gcc.target/riscv/sat_s_add-4-i32.c: ...here. * gcc.target/riscv/sat_s_add-16.c: Move to... * gcc.target/riscv/sat_s_add-4-i64.c: ...here. * gcc.target/riscv/sat_s_add-13.c: Move to... * gcc.target/riscv/sat_s_add-4-i8.c: ...here. * gcc.target/riscv/sat_s_add-run-2.c: Move to... * gcc.target/riscv/sat_s_add-run-1-i16.c: ...here. * gcc.target/riscv/sat_s_add-run-3.c: Move to... * gcc.target/riscv/sat_s_add-run-1-i32.c: ...here. * gcc.target/riscv/sat_s_add-run-4.c: Move to... * gcc.target/riscv/sat_s_add-run-1-i64.c: ...here. * gcc.target/riscv/sat_s_add-run-1.c: Move to... * gcc.target/riscv/sat_s_add-run-1-i8.c: ...here. * gcc.target/riscv/sat_s_add-run-6.c: Move to... * gcc.target/riscv/sat_s_add-run-2-i16.c: ...here. * gcc.target/riscv/sat_s_add-run-7.c: Move to... * gcc.target/riscv/sat_s_add-run-2-i32.c: ...here. * gcc.target/riscv/sat_s_add-run-8.c: Move to... * gcc.target/riscv/sat_s_add-run-2-i64.c: ...here. * gcc.target/riscv/sat_s_add-run-5.c: Move to... * gcc.target/riscv/sat_s_add-run-2-i8.c: ...here. * gcc.target/riscv/sat_s_add-run-10.c: Move to... * gcc.target/riscv/sat_s_add-run-3-i16.c: ...here. * gcc.target/riscv/sat_s_add-run-11.c: Move to... * gcc.target/riscv/sat_s_add-run-3-i32.c: ...here. * gcc.target/riscv/sat_s_add-run-12.c: Move to... * gcc.target/riscv/sat_s_add-run-3-i64.c: ...here. * gcc.target/riscv/sat_s_add-run-9.c: Move to... * gcc.target/riscv/sat_s_add-run-3-i8.c: ...here. * gcc.target/riscv/sat_s_add-run-14.c: Move to... * gcc.target/riscv/sat_s_add-run-4-i16.c: ...here. * gcc.target/riscv/sat_s_add-run-15.c: Move to... * gcc.target/riscv/sat_s_add-run-4-i32.c: ...here. * gcc.target/riscv/sat_s_add-run-16.c: Move to... * gcc.target/riscv/sat_s_add-run-4-i64.c: ...here. * gcc.target/riscv/sat_s_add-run-13.c: Move to... * gcc.target/riscv/sat_s_add-run-4-i8.c: ...here. * gcc.target/riscv/sat_u_add-2.c: Move to... * gcc.target/riscv/sat_u_add-1-u16.c: ...here. * gcc.target/riscv/sat_u_add-3.c: Move to... * gcc.target/riscv/sat_u_add-1-u32.c: ...here. * gcc.target/riscv/sat_u_add-4.c: Move to... * gcc.target/riscv/sat_u_add-1-u64.c: ...here. * gcc.target/riscv/sat_u_add-1.c: Move to... * gcc.target/riscv/sat_u_add-1-u8.c: ...here. * gcc.target/riscv/sat_u_add-6.c: Move to... * gcc.target/riscv/sat_u_add-2-u16.c: ...here. * gcc.target/riscv/sat_u_add-7.c: Move to... * gcc.target/riscv/sat_u_add-2-u32.c: ...here. * gcc.target/riscv/sat_u_add-8.c: Move to... * gcc.target/riscv/sat_u_add-2-u64.c: ...here. * gcc.target/riscv/sat_u_add-5.c: Move to... * gcc.target/riscv/sat_u_add-2-u8.c: ...here. * gcc.target/riscv/sat_u_add-10.c: Move to... * gcc.target/riscv/sat_u_add-3-u16.c: ...here. * gcc.target/riscv/sat_u_add-11.c: Move to... * gcc.target/riscv/sat_u_add-3-u32.c: ...here. * gcc.target/riscv/sat_u_add-12.c: Move to... * gcc.target/riscv/sat_u_add-3-u64.c: ...here. * gcc.target/riscv/sat_u_add-9.c: Move to... * gcc.target/riscv/sat_u_add-3-u8.c: ...here. * gcc.target/riscv/sat_u_add-14.c: Move to... * gcc.target/riscv/sat_u_add-4-u16.c: ...here. * gcc.target/riscv/sat_u_add-15.c: Move to... * gcc.target/riscv/sat_u_add-4-u32.c: ...here. * gcc.target/riscv/sat_u_add-16.c: Move to... * gcc.target/riscv/sat_u_add-4-u64.c: ...here. * gcc.target/riscv/sat_u_add-13.c: Move to... * gcc.target/riscv/sat_u_add-4-u8.c: ...here. * gcc.target/riscv/sat_u_add-18.c: Move to... * gcc.target/riscv/sat_u_add-5-u16.c: ...here. * gcc.target/riscv/sat_u_add-19.c: Move to... * gcc.target/riscv/sat_u_add-5-u32.c: ...here. * gcc.target/riscv/sat_u_add-20.c: Move to... * gcc.target/riscv/sat_u_add-5-u64.c: ...here. * gcc.target/riscv/sat_u_add-17.c: Move to... * gcc.target/riscv/sat_u_add-5-u8.c: ...here. * gcc.target/riscv/sat_u_add-22.c: Move to... * gcc.target/riscv/sat_u_add-6-u16.c: ...here. * gcc.target/riscv/sat_u_add-23.c: Move to... * gcc.target/riscv/sat_u_add-6-u32.c: ...here. * gcc.target/riscv/sat_u_add-24.c: Move to... * gcc.target/riscv/sat_u_add-6-u64.c: ...here. * gcc.target/riscv/sat_u_add-21.c: Move to... * gcc.target/riscv/sat_u_add-6-u8.c: ...here. * gcc.target/riscv/sat_u_add-run-2.c: Move to... * gcc.target/riscv/sat_u_add-run-1-u16.c: ...here. * gcc.target/riscv/sat_u_add-run-3.c: Move to... * gcc.target/riscv/sat_u_add-run-1-u32.c: ...here. * gcc.target/riscv/sat_u_add-run-4.c: Move to... * gcc.target/riscv/sat_u_add-run-1-u64.c: ...here. * gcc.target/riscv/sat_u_add-run-1.c: Move to... * gcc.target/riscv/sat_u_add-run-1-u8.c: ...here. * gcc.target/riscv/sat_u_add-run-6.c: Move to... * gcc.target/riscv/sat_u_add-run-2-u16.c: ...here. * gcc.target/riscv/sat_u_add-run-7.c: Move to... * gcc.target/riscv/sat_u_add-run-2-u32.c: ...here. * gcc.target/riscv/sat_u_add-run-8.c: Move to... * gcc.target/riscv/sat_u_add-run-2-u64.c: ...here. * gcc.target/riscv/sat_u_add-run-5.c: Move to... * gcc.target/riscv/sat_u_add-run-2-u8.c: ...here. * gcc.target/riscv/sat_u_add-run-10.c: Move to... * gcc.target/riscv/sat_u_add-run-3-u16.c: ...here. * gcc.target/riscv/sat_u_add-run-11.c: Move to... * gcc.target/riscv/sat_u_add-run-3-u32.c: ...here. * gcc.target/riscv/sat_u_add-run-12.c: Move to... * gcc.target/riscv/sat_u_add-run-3-u64.c: ...here. * gcc.target/riscv/sat_u_add-run-9.c: Move to... * gcc.target/riscv/sat_u_add-run-3-u8.c: ...here. * gcc.target/riscv/sat_u_add-run-14.c: Move to... * gcc.target/riscv/sat_u_add-run-4-u16.c: ...here. * gcc.target/riscv/sat_u_add-run-15.c: Move to... * gcc.target/riscv/sat_u_add-run-4-u32.c: ...here. * gcc.target/riscv/sat_u_add-run-16.c: Move to... * gcc.target/riscv/sat_u_add-run-4-u64.c: ...here. * gcc.target/riscv/sat_u_add-run-13.c: Move to... * gcc.target/riscv/sat_u_add-run-4-u8.c: ...here. * gcc.target/riscv/sat_u_add-run-18.c: Move to... * gcc.target/riscv/sat_u_add-run-5-u16.c: ...here. * gcc.target/riscv/sat_u_add-run-19.c: Move to... * gcc.target/riscv/sat_u_add-run-5-u32.c: ...here. * gcc.target/riscv/sat_u_add-run-20.c: Move to... * gcc.target/riscv/sat_u_add-run-5-u64.c: ...here. * gcc.target/riscv/sat_u_add-run-17.c: Move to... * gcc.target/riscv/sat_u_add-run-5-u8.c: ...here. * gcc.target/riscv/sat_u_add-run-22.c: Move to... * gcc.target/riscv/sat_u_add-run-6-u16.c: ...here. * gcc.target/riscv/sat_u_add-run-23.c: Move to... * gcc.target/riscv/sat_u_add-run-6-u32.c: ...here. * gcc.target/riscv/sat_u_add-run-24.c: Move to... * gcc.target/riscv/sat_u_add-run-6-u64.c: ...here. * gcc.target/riscv/sat_u_add-run-21.c: Move to... * gcc.target/riscv/sat_u_add-run-6-u8.c: ...here. * gcc.target/riscv/sat_u_add_imm-2.c: Move to... * gcc.target/riscv/sat_u_add_imm-1-u16.c: ...here. * gcc.target/riscv/sat_u_add_imm-3.c: Move to... * gcc.target/riscv/sat_u_add_imm-1-u32.c: ...here. * gcc.target/riscv/sat_u_add_imm-4.c: Move to... * gcc.target/riscv/sat_u_add_imm-1-u64.c: ...here. * gcc.target/riscv/sat_u_add_imm-1.c: Move to... * gcc.target/riscv/sat_u_add_imm-1-u8.c: ...here. * gcc.target/riscv/sat_u_add_imm-6.c: Move to... * gcc.target/riscv/sat_u_add_imm-2-u16.c: ...here. * gcc.target/riscv/sat_u_add_imm-7.c: Move to... * gcc.target/riscv/sat_u_add_imm-2-u32.c: ...here. * gcc.target/riscv/sat_u_add_imm-8.c: Move to... * gcc.target/riscv/sat_u_add_imm-2-u64.c: ...here. * gcc.target/riscv/sat_u_add_imm-5.c: Move to... * gcc.target/riscv/sat_u_add_imm-2-u8.c: ...here. * gcc.target/riscv/sat_u_add_imm-10.c: Move to... * gcc.target/riscv/sat_u_add_imm-3-u16.c: ...here. * gcc.target/riscv/sat_u_add_imm-11.c: Move to... * gcc.target/riscv/sat_u_add_imm-3-u32.c: ...here. * gcc.target/riscv/sat_u_add_imm-12.c: Move to... * gcc.target/riscv/sat_u_add_imm-3-u64.c: ...here. * gcc.target/riscv/sat_u_add_imm-9.c: Move to... * gcc.target/riscv/sat_u_add_imm-3-u8.c: ...here. * gcc.target/riscv/sat_u_add_imm-14.c: Move to... * gcc.target/riscv/sat_u_add_imm-4-u16.c: ...here. * gcc.target/riscv/sat_u_add_imm-15.c: Move to... * gcc.target/riscv/sat_u_add_imm-4-u32.c: ...here. * gcc.target/riscv/sat_u_add_imm-16.c: Move to... * gcc.target/riscv/sat_u_add_imm-4-u64.c: ...here. * gcc.target/riscv/sat_u_add_imm-13.c: Move to... * gcc.target/riscv/sat_u_add_imm-4-u8.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-2.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-1-u16.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-3.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-1-u32.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-4.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-1-u64.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-1.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-1-u8.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-6.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-2-u16.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-7.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-2-u32.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-8.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-2-u64.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-5.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-2-u8.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-10.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-3-u16.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-11.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-3-u32.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-12.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-3-u64.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-9.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-3-u8.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-14.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-4-u16.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-15.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-4-u32.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-16.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-4-u64.c: ...here. * gcc.target/riscv/sat_u_add_imm-run-13.c: Move to... * gcc.target/riscv/sat_u_add_imm-run-4-u8.c: ...here. Signed-off-by: Pan Li --- gcc/testsuite/gcc.target/riscv/sat_s_add-1-i16.c | 33 ++++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-1-i32.c | 32 +++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-1-i64.c | 30 ++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-1-i8.c | 31 +++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-1.c | 31 --------------- gcc/testsuite/gcc.target/riscv/sat_s_add-10.c | 33 ---------------- gcc/testsuite/gcc.target/riscv/sat_s_add-11.c | 32 --------------- gcc/testsuite/gcc.target/riscv/sat_s_add-12.c | 30 -------------- gcc/testsuite/gcc.target/riscv/sat_s_add-13.c | 31 --------------- gcc/testsuite/gcc.target/riscv/sat_s_add-14.c | 33 ---------------- gcc/testsuite/gcc.target/riscv/sat_s_add-15.c | 32 --------------- gcc/testsuite/gcc.target/riscv/sat_s_add-16.c | 30 -------------- gcc/testsuite/gcc.target/riscv/sat_s_add-2-i16.c | 33 ++++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-2-i32.c | 32 +++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-2-i64.c | 30 ++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-2-i8.c | 31 +++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-2.c | 33 ---------------- gcc/testsuite/gcc.target/riscv/sat_s_add-3-i16.c | 33 ++++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-3-i32.c | 32 +++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-3-i64.c | 30 ++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-3-i8.c | 31 +++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-3.c | 32 --------------- gcc/testsuite/gcc.target/riscv/sat_s_add-4-i16.c | 33 ++++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-4-i32.c | 32 +++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-4-i64.c | 30 ++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-4-i8.c | 31 +++++++++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-4.c | 30 -------------- gcc/testsuite/gcc.target/riscv/sat_s_add-5.c | 31 --------------- gcc/testsuite/gcc.target/riscv/sat_s_add-6.c | 33 ---------------- gcc/testsuite/gcc.target/riscv/sat_s_add-7.c | 32 --------------- gcc/testsuite/gcc.target/riscv/sat_s_add-8.c | 30 -------------- gcc/testsuite/gcc.target/riscv/sat_s_add-9.c | 31 --------------- .../gcc.target/riscv/sat_s_add-run-1-i16.c | 16 ++++++++ .../gcc.target/riscv/sat_s_add-run-1-i32.c | 16 ++++++++ .../gcc.target/riscv/sat_s_add-run-1-i64.c | 16 ++++++++ .../gcc.target/riscv/sat_s_add-run-1-i8.c | 16 ++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-run-1.c | 16 -------- gcc/testsuite/gcc.target/riscv/sat_s_add-run-10.c | 16 -------- gcc/testsuite/gcc.target/riscv/sat_s_add-run-11.c | 16 -------- gcc/testsuite/gcc.target/riscv/sat_s_add-run-12.c | 16 -------- gcc/testsuite/gcc.target/riscv/sat_s_add-run-13.c | 16 -------- gcc/testsuite/gcc.target/riscv/sat_s_add-run-14.c | 16 -------- gcc/testsuite/gcc.target/riscv/sat_s_add-run-15.c | 16 -------- gcc/testsuite/gcc.target/riscv/sat_s_add-run-16.c | 16 -------- .../gcc.target/riscv/sat_s_add-run-2-i16.c | 16 ++++++++ .../gcc.target/riscv/sat_s_add-run-2-i32.c | 16 ++++++++ .../gcc.target/riscv/sat_s_add-run-2-i64.c | 16 ++++++++ .../gcc.target/riscv/sat_s_add-run-2-i8.c | 16 ++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-run-2.c | 16 -------- .../gcc.target/riscv/sat_s_add-run-3-i16.c | 16 ++++++++ .../gcc.target/riscv/sat_s_add-run-3-i32.c | 16 ++++++++ .../gcc.target/riscv/sat_s_add-run-3-i64.c | 16 ++++++++ .../gcc.target/riscv/sat_s_add-run-3-i8.c | 16 ++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-run-3.c | 16 -------- .../gcc.target/riscv/sat_s_add-run-4-i16.c | 16 ++++++++ .../gcc.target/riscv/sat_s_add-run-4-i32.c | 16 ++++++++ .../gcc.target/riscv/sat_s_add-run-4-i64.c | 16 ++++++++ .../gcc.target/riscv/sat_s_add-run-4-i8.c | 16 ++++++++ gcc/testsuite/gcc.target/riscv/sat_s_add-run-4.c | 16 -------- gcc/testsuite/gcc.target/riscv/sat_s_add-run-5.c | 16 -------- gcc/testsuite/gcc.target/riscv/sat_s_add-run-6.c | 16 -------- gcc/testsuite/gcc.target/riscv/sat_s_add-run-7.c | 16 -------- gcc/testsuite/gcc.target/riscv/sat_s_add-run-8.c | 16 -------- gcc/testsuite/gcc.target/riscv/sat_s_add-run-9.c | 16 -------- gcc/testsuite/gcc.target/riscv/sat_u_add-1-u16.c | 22 +++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-1-u32.c | 23 +++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-1-u64.c | 18 +++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-1-u8.c | 20 ++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-1.c | 20 ---------- gcc/testsuite/gcc.target/riscv/sat_u_add-10.c | 22 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add-11.c | 23 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add-12.c | 18 --------- gcc/testsuite/gcc.target/riscv/sat_u_add-13.c | 20 ---------- gcc/testsuite/gcc.target/riscv/sat_u_add-14.c | 22 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add-15.c | 23 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add-16.c | 18 --------- gcc/testsuite/gcc.target/riscv/sat_u_add-17.c | 20 ---------- gcc/testsuite/gcc.target/riscv/sat_u_add-18.c | 22 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add-19.c | 23 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add-2-u16.c | 22 +++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-2-u32.c | 23 +++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-2-u64.c | 18 +++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-2-u8.c | 20 ++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-2.c | 22 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add-20.c | 18 --------- gcc/testsuite/gcc.target/riscv/sat_u_add-21.c | 20 ---------- gcc/testsuite/gcc.target/riscv/sat_u_add-22.c | 22 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add-23.c | 23 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add-24.c | 18 --------- gcc/testsuite/gcc.target/riscv/sat_u_add-3-u16.c | 22 +++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-3-u32.c | 23 +++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-3-u64.c | 18 +++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-3-u8.c | 20 ++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-3.c | 23 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add-4-u16.c | 22 +++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-4-u32.c | 23 +++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-4-u64.c | 18 +++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-4-u8.c | 20 ++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-4.c | 18 --------- gcc/testsuite/gcc.target/riscv/sat_u_add-5-u16.c | 22 +++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-5-u32.c | 23 +++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-5-u64.c | 18 +++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-5-u8.c | 20 ++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-5.c | 20 ---------- gcc/testsuite/gcc.target/riscv/sat_u_add-6-u16.c | 22 +++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-6-u32.c | 23 +++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-6-u64.c | 18 +++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-6-u8.c | 20 ++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-6.c | 22 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add-7.c | 23 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add-8.c | 18 --------- gcc/testsuite/gcc.target/riscv/sat_u_add-9.c | 20 ---------- .../gcc.target/riscv/sat_u_add-run-1-u16.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-1-u32.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-1-u64.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-1-u8.c | 25 ++++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-run-1.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-10.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-11.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-12.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-13.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-14.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-15.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-16.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-17.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-18.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-19.c | 25 ------------ .../gcc.target/riscv/sat_u_add-run-2-u16.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-2-u32.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-2-u64.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-2-u8.c | 25 ++++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-run-2.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-20.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-21.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-22.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-23.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-24.c | 25 ------------ .../gcc.target/riscv/sat_u_add-run-3-u16.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-3-u32.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-3-u64.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-3-u8.c | 25 ++++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-run-3.c | 25 ------------ .../gcc.target/riscv/sat_u_add-run-4-u16.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-4-u32.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-4-u64.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-4-u8.c | 25 ++++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-run-4.c | 25 ------------ .../gcc.target/riscv/sat_u_add-run-5-u16.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-5-u32.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-5-u64.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-5-u8.c | 25 ++++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-run-5.c | 25 ------------ .../gcc.target/riscv/sat_u_add-run-6-u16.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-6-u32.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-6-u64.c | 25 ++++++++++++ .../gcc.target/riscv/sat_u_add-run-6-u8.c | 25 ++++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add-run-6.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-7.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-8.c | 25 ------------ gcc/testsuite/gcc.target/riscv/sat_u_add-run-9.c | 25 ------------ .../gcc.target/riscv/sat_u_add_imm-1-u16.c | 22 +++++++++++ .../gcc.target/riscv/sat_u_add_imm-1-u32.c | 23 +++++++++++ .../gcc.target/riscv/sat_u_add_imm-1-u64.c | 18 +++++++++ .../gcc.target/riscv/sat_u_add_imm-1-u8.c | 20 ++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1.c | 20 ---------- gcc/testsuite/gcc.target/riscv/sat_u_add_imm-10.c | 22 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add_imm-11.c | 23 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add_imm-12.c | 18 --------- gcc/testsuite/gcc.target/riscv/sat_u_add_imm-13.c | 20 ---------- gcc/testsuite/gcc.target/riscv/sat_u_add_imm-14.c | 22 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add_imm-15.c | 23 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add_imm-16.c | 18 --------- .../gcc.target/riscv/sat_u_add_imm-2-u16.c | 22 +++++++++++ .../gcc.target/riscv/sat_u_add_imm-2-u32.c | 23 +++++++++++ .../gcc.target/riscv/sat_u_add_imm-2-u64.c | 18 +++++++++ .../gcc.target/riscv/sat_u_add_imm-2-u8.c | 20 ++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2.c | 22 ----------- .../gcc.target/riscv/sat_u_add_imm-3-u16.c | 22 +++++++++++ .../gcc.target/riscv/sat_u_add_imm-3-u32.c | 23 +++++++++++ .../gcc.target/riscv/sat_u_add_imm-3-u64.c | 18 +++++++++ .../gcc.target/riscv/sat_u_add_imm-3-u8.c | 20 ++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3.c | 23 ----------- .../gcc.target/riscv/sat_u_add_imm-4-u16.c | 22 +++++++++++ .../gcc.target/riscv/sat_u_add_imm-4-u32.c | 23 +++++++++++ .../gcc.target/riscv/sat_u_add_imm-4-u64.c | 18 +++++++++ .../gcc.target/riscv/sat_u_add_imm-4-u8.c | 20 ++++++++++ gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4.c | 18 --------- gcc/testsuite/gcc.target/riscv/sat_u_add_imm-5.c | 20 ---------- gcc/testsuite/gcc.target/riscv/sat_u_add_imm-6.c | 22 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add_imm-7.c | 23 ----------- gcc/testsuite/gcc.target/riscv/sat_u_add_imm-8.c | 18 --------- gcc/testsuite/gcc.target/riscv/sat_u_add_imm-9.c | 20 ---------- .../gcc.target/riscv/sat_u_add_imm-run-1-u16.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-1-u32.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-1-u64.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-1-u8.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-1.c | 46 ---------------------- .../gcc.target/riscv/sat_u_add_imm-run-10.c | 46 ---------------------- .../gcc.target/riscv/sat_u_add_imm-run-11.c | 46 ---------------------- .../gcc.target/riscv/sat_u_add_imm-run-12.c | 46 ---------------------- .../gcc.target/riscv/sat_u_add_imm-run-13.c | 46 ---------------------- .../gcc.target/riscv/sat_u_add_imm-run-14.c | 46 ---------------------- .../gcc.target/riscv/sat_u_add_imm-run-15.c | 46 ---------------------- .../gcc.target/riscv/sat_u_add_imm-run-16.c | 46 ---------------------- .../gcc.target/riscv/sat_u_add_imm-run-2-u16.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-2-u32.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-2-u64.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-2-u8.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-2.c | 46 ---------------------- .../gcc.target/riscv/sat_u_add_imm-run-3-u16.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-3-u32.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-3-u64.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-3-u8.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-3.c | 46 ---------------------- .../gcc.target/riscv/sat_u_add_imm-run-4-u16.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-4-u32.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-4-u64.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-4-u8.c | 46 ++++++++++++++++++++++ .../gcc.target/riscv/sat_u_add_imm-run-4.c | 46 ---------------------- .../gcc.target/riscv/sat_u_add_imm-run-5.c | 46 ---------------------- .../gcc.target/riscv/sat_u_add_imm-run-6.c | 46 ---------------------- .../gcc.target/riscv/sat_u_add_imm-run-7.c | 46 ---------------------- .../gcc.target/riscv/sat_u_add_imm-run-8.c | 46 ---------------------- .../gcc.target/riscv/sat_u_add_imm-run-9.c | 46 ---------------------- 224 files changed, 2926 insertions(+), 2926 deletions(-) create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-1-i16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-1-i32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-1-i64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-1-i8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-1.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-10.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-11.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-12.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-13.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-14.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-15.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-2-i16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-2-i32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-2-i64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-2-i8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-2.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-3-i16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-3-i32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-3-i64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-3-i8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-3.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-4-i16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-4-i32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-4-i64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-4-i8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-4.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-5.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-6.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-7.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-9.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-1.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-10.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-11.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-12.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-13.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-14.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-15.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-2.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-3.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-4.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-5.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-6.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-7.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_s_add-run-9.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-1-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-1-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-1-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-1-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-1.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-10.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-11.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-12.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-13.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-14.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-15.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-16.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-17.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-18.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-19.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-2-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-2-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-2-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-2-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-2.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-20.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-21.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-22.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-23.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-24.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-3-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-3-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-3-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-3-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-3.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-4-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-4-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-4-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-4-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-4.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-5-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-5-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-5-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-5-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-5.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-6-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-6-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-6-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-6-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-6.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-7.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-9.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-1.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-10.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-11.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-12.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-13.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-14.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-15.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-16.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-17.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-18.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-19.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-2.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-20.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-21.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-22.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-23.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-24.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-3.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-4.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-5.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-6.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-7.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add-run-9.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-10.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-11.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-12.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-13.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-14.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-15.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-5.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-6.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-7.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-9.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-10.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-11.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-12.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-13.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-14.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-15.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u16.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u32.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u64.c create mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-5.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-6.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-7.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-8.c delete mode 100644 gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-9.c (limited to 'gcc') diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-1-i16.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-1-i16.c new file mode 100644 index 0000000..2572298 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-1-i16.c @@ -0,0 +1,33 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int16_t_fmt_1: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** li\s+[atx][0-9]+,\s*32768 +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slliw\s+a0,\s*a0,\s*16 +** sraiw\s+a0,\s*a0,\s*16 +** ret +*/ +DEF_SAT_S_ADD_FMT_1(int16_t, uint16_t, INT16_MIN, INT16_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-1-i32.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-1-i32.c new file mode 100644 index 0000000..8f5a5ef --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-1-i32.c @@ -0,0 +1,32 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int32_t_fmt_1: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** li\s+[atx][0-9]+,\s*-2147483648 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** sext\.w\s+a0,\s*a0 +** ret +*/ +DEF_SAT_S_ADD_FMT_1(int32_t, uint32_t, INT32_MIN, INT32_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-1-i64.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-1-i64.c new file mode 100644 index 0000000..676e93c --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-1-i64.c @@ -0,0 +1,30 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int64_t_fmt_1: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** li\s+[atx][0-9]+,\s*-1 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** ret +*/ +DEF_SAT_S_ADD_FMT_1(int64_t, uint64_t, INT64_MIN, INT64_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-1-i8.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-1-i8.c new file mode 100644 index 0000000..37cc58e --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-1-i8.c @@ -0,0 +1,31 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int8_t_fmt_1: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*127 +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slliw\s+a0,\s*a0,\s*24 +** sraiw\s+a0,\s*a0,\s*24 +** ret +*/ +DEF_SAT_S_ADD_FMT_1(int8_t, uint8_t, INT8_MIN, INT8_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-1.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-1.c deleted file mode 100644 index 37cc58e..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-1.c +++ /dev/null @@ -1,31 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int8_t_fmt_1: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*127 -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slliw\s+a0,\s*a0,\s*24 -** sraiw\s+a0,\s*a0,\s*24 -** ret -*/ -DEF_SAT_S_ADD_FMT_1(int8_t, uint8_t, INT8_MIN, INT8_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-10.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-10.c deleted file mode 100644 index ac55802..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-10.c +++ /dev/null @@ -1,33 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int16_t_fmt_3: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** li\s+[atx][0-9]+,\s*32768 -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slliw\s+a0,\s*a0,\s*16 -** sraiw\s+a0,\s*a0,\s*16 -** ret -*/ -DEF_SAT_S_ADD_FMT_3(int16_t, uint16_t, INT16_MIN, INT16_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-11.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-11.c deleted file mode 100644 index 093390d..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-11.c +++ /dev/null @@ -1,32 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int32_t_fmt_3: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** li\s+[atx][0-9]+,\s*-2147483648 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** sext\.w\s+a0,\s*a0 -** ret -*/ -DEF_SAT_S_ADD_FMT_3(int32_t, uint32_t, INT32_MIN, INT32_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-12.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-12.c deleted file mode 100644 index 04e3a0a..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-12.c +++ /dev/null @@ -1,30 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int64_t_fmt_3: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** li\s+[atx][0-9]+,\s*-1 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** ret -*/ -DEF_SAT_S_ADD_FMT_3(int64_t, uint64_t, INT64_MIN, INT64_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-13.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-13.c deleted file mode 100644 index 2c12514..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-13.c +++ /dev/null @@ -1,31 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int8_t_fmt_4: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*127 -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slliw\s+a0,\s*a0,\s*24 -** sraiw\s+a0,\s*a0,\s*24 -** ret -*/ -DEF_SAT_S_ADD_FMT_4(int8_t, uint8_t, INT8_MIN, INT8_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-14.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-14.c deleted file mode 100644 index 984e446..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-14.c +++ /dev/null @@ -1,33 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int16_t_fmt_4: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** li\s+[atx][0-9]+,\s*32768 -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slliw\s+a0,\s*a0,\s*16 -** sraiw\s+a0,\s*a0,\s*16 -** ret -*/ -DEF_SAT_S_ADD_FMT_4(int16_t, uint16_t, INT16_MIN, INT16_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-15.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-15.c deleted file mode 100644 index 92f3402..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-15.c +++ /dev/null @@ -1,32 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int32_t_fmt_4: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** li\s+[atx][0-9]+,\s*-2147483648 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** sext\.w\s+a0,\s*a0 -** ret -*/ -DEF_SAT_S_ADD_FMT_4(int32_t, uint32_t, INT32_MIN, INT32_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-16.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-16.c deleted file mode 100644 index 6fb958e..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-16.c +++ /dev/null @@ -1,30 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int64_t_fmt_4: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** li\s+[atx][0-9]+,\s*-1 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** ret -*/ -DEF_SAT_S_ADD_FMT_4(int64_t, uint64_t, INT64_MIN, INT64_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-2-i16.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-2-i16.c new file mode 100644 index 0000000..987ba15 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-2-i16.c @@ -0,0 +1,33 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int16_t_fmt_2: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** li\s+[atx][0-9]+,\s*32768 +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slliw\s+a0,\s*a0,\s*16 +** sraiw\s+a0,\s*a0,\s*16 +** ret +*/ +DEF_SAT_S_ADD_FMT_2(int16_t, uint16_t, INT16_MIN, INT16_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-2-i32.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-2-i32.c new file mode 100644 index 0000000..2d5dc97 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-2-i32.c @@ -0,0 +1,32 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int32_t_fmt_2: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** li\s+[atx][0-9]+,\s*-2147483648 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** sext\.w\s+a0,\s*a0 +** ret +*/ +DEF_SAT_S_ADD_FMT_2(int32_t, uint32_t, INT32_MIN, INT32_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-2-i64.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-2-i64.c new file mode 100644 index 0000000..1246860 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-2-i64.c @@ -0,0 +1,30 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int64_t_fmt_2: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** li\s+[atx][0-9]+,\s*-1 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** ret +*/ +DEF_SAT_S_ADD_FMT_2(int64_t, uint64_t, INT64_MIN, INT64_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-2-i8.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-2-i8.c new file mode 100644 index 0000000..707deaa --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-2-i8.c @@ -0,0 +1,31 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int8_t_fmt_2: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*127 +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slliw\s+a0,\s*a0,\s*24 +** sraiw\s+a0,\s*a0,\s*24 +** ret +*/ +DEF_SAT_S_ADD_FMT_2(int8_t, uint8_t, INT8_MIN, INT8_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-2.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-2.c deleted file mode 100644 index 2572298..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-2.c +++ /dev/null @@ -1,33 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int16_t_fmt_1: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** li\s+[atx][0-9]+,\s*32768 -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slliw\s+a0,\s*a0,\s*16 -** sraiw\s+a0,\s*a0,\s*16 -** ret -*/ -DEF_SAT_S_ADD_FMT_1(int16_t, uint16_t, INT16_MIN, INT16_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-3-i16.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-3-i16.c new file mode 100644 index 0000000..ac55802 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-3-i16.c @@ -0,0 +1,33 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int16_t_fmt_3: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** li\s+[atx][0-9]+,\s*32768 +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slliw\s+a0,\s*a0,\s*16 +** sraiw\s+a0,\s*a0,\s*16 +** ret +*/ +DEF_SAT_S_ADD_FMT_3(int16_t, uint16_t, INT16_MIN, INT16_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-3-i32.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-3-i32.c new file mode 100644 index 0000000..093390d --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-3-i32.c @@ -0,0 +1,32 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int32_t_fmt_3: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** li\s+[atx][0-9]+,\s*-2147483648 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** sext\.w\s+a0,\s*a0 +** ret +*/ +DEF_SAT_S_ADD_FMT_3(int32_t, uint32_t, INT32_MIN, INT32_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-3-i64.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-3-i64.c new file mode 100644 index 0000000..04e3a0a --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-3-i64.c @@ -0,0 +1,30 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int64_t_fmt_3: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** li\s+[atx][0-9]+,\s*-1 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** ret +*/ +DEF_SAT_S_ADD_FMT_3(int64_t, uint64_t, INT64_MIN, INT64_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-3-i8.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-3-i8.c new file mode 100644 index 0000000..98b6798 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-3-i8.c @@ -0,0 +1,31 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int8_t_fmt_3: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*127 +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slliw\s+a0,\s*a0,\s*24 +** sraiw\s+a0,\s*a0,\s*24 +** ret +*/ +DEF_SAT_S_ADD_FMT_3(int8_t, uint8_t, INT8_MIN, INT8_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-3.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-3.c deleted file mode 100644 index 8f5a5ef..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-3.c +++ /dev/null @@ -1,32 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int32_t_fmt_1: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** li\s+[atx][0-9]+,\s*-2147483648 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** sext\.w\s+a0,\s*a0 -** ret -*/ -DEF_SAT_S_ADD_FMT_1(int32_t, uint32_t, INT32_MIN, INT32_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-4-i16.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-4-i16.c new file mode 100644 index 0000000..984e446 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-4-i16.c @@ -0,0 +1,33 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int16_t_fmt_4: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** li\s+[atx][0-9]+,\s*32768 +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slliw\s+a0,\s*a0,\s*16 +** sraiw\s+a0,\s*a0,\s*16 +** ret +*/ +DEF_SAT_S_ADD_FMT_4(int16_t, uint16_t, INT16_MIN, INT16_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-4-i32.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-4-i32.c new file mode 100644 index 0000000..92f3402 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-4-i32.c @@ -0,0 +1,32 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int32_t_fmt_4: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** li\s+[atx][0-9]+,\s*-2147483648 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** sext\.w\s+a0,\s*a0 +** ret +*/ +DEF_SAT_S_ADD_FMT_4(int32_t, uint32_t, INT32_MIN, INT32_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-4-i64.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-4-i64.c new file mode 100644 index 0000000..6fb958e --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-4-i64.c @@ -0,0 +1,30 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int64_t_fmt_4: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** li\s+[atx][0-9]+,\s*-1 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** ret +*/ +DEF_SAT_S_ADD_FMT_4(int64_t, uint64_t, INT64_MIN, INT64_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-4-i8.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-4-i8.c new file mode 100644 index 0000000..2c12514 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-4-i8.c @@ -0,0 +1,31 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_s_add_int8_t_fmt_4: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*a1 +** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 +** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 +** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*127 +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 +** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slliw\s+a0,\s*a0,\s*24 +** sraiw\s+a0,\s*a0,\s*24 +** ret +*/ +DEF_SAT_S_ADD_FMT_4(int8_t, uint8_t, INT8_MIN, INT8_MAX) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-4.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-4.c deleted file mode 100644 index 676e93c..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-4.c +++ /dev/null @@ -1,30 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int64_t_fmt_1: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** li\s+[atx][0-9]+,\s*-1 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** ret -*/ -DEF_SAT_S_ADD_FMT_1(int64_t, uint64_t, INT64_MIN, INT64_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-5.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-5.c deleted file mode 100644 index 707deaa..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-5.c +++ /dev/null @@ -1,31 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int8_t_fmt_2: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*127 -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slliw\s+a0,\s*a0,\s*24 -** sraiw\s+a0,\s*a0,\s*24 -** ret -*/ -DEF_SAT_S_ADD_FMT_2(int8_t, uint8_t, INT8_MIN, INT8_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-6.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-6.c deleted file mode 100644 index 987ba15..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-6.c +++ /dev/null @@ -1,33 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int16_t_fmt_2: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*15 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** li\s+[atx][0-9]+,\s*32768 -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slliw\s+a0,\s*a0,\s*16 -** sraiw\s+a0,\s*a0,\s*16 -** ret -*/ -DEF_SAT_S_ADD_FMT_2(int16_t, uint16_t, INT16_MIN, INT16_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-7.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-7.c deleted file mode 100644 index 2d5dc97..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-7.c +++ /dev/null @@ -1,32 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int32_t_fmt_2: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*31 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** li\s+[atx][0-9]+,\s*-2147483648 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** sext\.w\s+a0,\s*a0 -** ret -*/ -DEF_SAT_S_ADD_FMT_2(int32_t, uint32_t, INT32_MIN, INT32_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-8.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-8.c deleted file mode 100644 index 1246860..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-8.c +++ /dev/null @@ -1,30 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int64_t_fmt_2: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** li\s+[atx][0-9]+,\s*-1 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** xor\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** ret -*/ -DEF_SAT_S_ADD_FMT_2(int64_t, uint64_t, INT64_MIN, INT64_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-9.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-9.c deleted file mode 100644 index 98b6798..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-9.c +++ /dev/null @@ -1,31 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_s_add_int8_t_fmt_3: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*a1 -** xor\s+[atx][0-9]+,\s*a0,\s*[atx][0-9]+ -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*7 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*1 -** srai\s+[atx][0-9]+,\s*[atx][0-9]+,\s*63 -** xori\s+[atx][0-9]+,\s*[atx][0-9]+,\s*127 -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** addi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*-1 -** and\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slliw\s+a0,\s*a0,\s*24 -** sraiw\s+a0,\s*a0,\s*24 -** ret -*/ -DEF_SAT_S_ADD_FMT_3(int8_t, uint8_t, INT8_MIN, INT8_MAX) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i16.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i16.c new file mode 100644 index 0000000..34459b8 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i16.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int16_t +#define T2 uint16_t + +DEF_SAT_S_ADD_FMT_1_WRAP(T1, T2, INT16_MIN, INT16_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_1_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i32.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i32.c new file mode 100644 index 0000000..4d4841f --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i32.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int32_t +#define T2 uint32_t + +DEF_SAT_S_ADD_FMT_1_WRAP(T1, T2, INT32_MIN, INT32_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_1_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i64.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i64.c new file mode 100644 index 0000000..df81887 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i64.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int64_t +#define T2 uint64_t + +DEF_SAT_S_ADD_FMT_1_WRAP(T1, T2, INT64_MIN, INT64_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_1_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i8.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i8.c new file mode 100644 index 0000000..9a4ce33 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-1-i8.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int8_t +#define T2 uint8_t + +DEF_SAT_S_ADD_FMT_1_WRAP(T1, T2, INT8_MIN, INT8_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_1_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-1.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-1.c deleted file mode 100644 index 9a4ce33..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-1.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int8_t -#define T2 uint8_t - -DEF_SAT_S_ADD_FMT_1_WRAP(T1, T2, INT8_MIN, INT8_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_1_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-10.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-10.c deleted file mode 100644 index 08b961a..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-10.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int16_t -#define T2 uint16_t - -DEF_SAT_S_ADD_FMT_3_WRAP(T1, T2, INT16_MIN, INT16_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_3_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-11.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-11.c deleted file mode 100644 index 3611b6e..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-11.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int32_t -#define T2 uint32_t - -DEF_SAT_S_ADD_FMT_3_WRAP(T1, T2, INT32_MIN, INT32_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_3_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-12.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-12.c deleted file mode 100644 index 3eaa6c2..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-12.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int64_t -#define T2 uint64_t - -DEF_SAT_S_ADD_FMT_3_WRAP(T1, T2, INT64_MIN, INT64_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_3_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-13.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-13.c deleted file mode 100644 index 94d48ef..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-13.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int8_t -#define T2 uint8_t - -DEF_SAT_S_ADD_FMT_4_WRAP(T1, T2, INT8_MIN, INT8_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_4_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-14.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-14.c deleted file mode 100644 index 2e73450..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-14.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int16_t -#define T2 uint16_t - -DEF_SAT_S_ADD_FMT_4_WRAP(T1, T2, INT16_MIN, INT16_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_4_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-15.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-15.c deleted file mode 100644 index ec3022d..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-15.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int32_t -#define T2 uint32_t - -DEF_SAT_S_ADD_FMT_4_WRAP(T1, T2, INT32_MIN, INT32_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_4_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-16.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-16.c deleted file mode 100644 index 911856e..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-16.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int64_t -#define T2 uint64_t - -DEF_SAT_S_ADD_FMT_4_WRAP(T1, T2, INT64_MIN, INT64_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_4_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i16.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i16.c new file mode 100644 index 0000000..cdac5bd --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i16.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int16_t +#define T2 uint16_t + +DEF_SAT_S_ADD_FMT_2_WRAP(T1, T2, INT16_MIN, INT16_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_2_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i32.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i32.c new file mode 100644 index 0000000..4ac952e --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i32.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int32_t +#define T2 uint32_t + +DEF_SAT_S_ADD_FMT_2_WRAP(T1, T2, INT32_MIN, INT32_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_2_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i64.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i64.c new file mode 100644 index 0000000..4d25e7f --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i64.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int64_t +#define T2 uint64_t + +DEF_SAT_S_ADD_FMT_2_WRAP(T1, T2, INT64_MIN, INT64_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_2_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i8.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i8.c new file mode 100644 index 0000000..d57e0a0 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-2-i8.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int8_t +#define T2 uint8_t + +DEF_SAT_S_ADD_FMT_2_WRAP(T1, T2, INT8_MIN, INT8_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_2_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-2.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-2.c deleted file mode 100644 index 34459b8..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-2.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int16_t -#define T2 uint16_t - -DEF_SAT_S_ADD_FMT_1_WRAP(T1, T2, INT16_MIN, INT16_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_1_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i16.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i16.c new file mode 100644 index 0000000..08b961a --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i16.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int16_t +#define T2 uint16_t + +DEF_SAT_S_ADD_FMT_3_WRAP(T1, T2, INT16_MIN, INT16_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_3_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i32.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i32.c new file mode 100644 index 0000000..3611b6e --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i32.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int32_t +#define T2 uint32_t + +DEF_SAT_S_ADD_FMT_3_WRAP(T1, T2, INT32_MIN, INT32_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_3_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i64.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i64.c new file mode 100644 index 0000000..3eaa6c2 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i64.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int64_t +#define T2 uint64_t + +DEF_SAT_S_ADD_FMT_3_WRAP(T1, T2, INT64_MIN, INT64_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_3_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i8.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i8.c new file mode 100644 index 0000000..6d38e5f --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-3-i8.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int8_t +#define T2 uint8_t + +DEF_SAT_S_ADD_FMT_3_WRAP(T1, T2, INT8_MIN, INT8_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_3_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-3.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-3.c deleted file mode 100644 index 4d4841f..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-3.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int32_t -#define T2 uint32_t - -DEF_SAT_S_ADD_FMT_1_WRAP(T1, T2, INT32_MIN, INT32_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_1_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i16.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i16.c new file mode 100644 index 0000000..2e73450 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i16.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int16_t +#define T2 uint16_t + +DEF_SAT_S_ADD_FMT_4_WRAP(T1, T2, INT16_MIN, INT16_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_4_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i32.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i32.c new file mode 100644 index 0000000..ec3022d --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i32.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int32_t +#define T2 uint32_t + +DEF_SAT_S_ADD_FMT_4_WRAP(T1, T2, INT32_MIN, INT32_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_4_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i64.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i64.c new file mode 100644 index 0000000..911856e --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i64.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int64_t +#define T2 uint64_t + +DEF_SAT_S_ADD_FMT_4_WRAP(T1, T2, INT64_MIN, INT64_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_4_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i8.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i8.c new file mode 100644 index 0000000..94d48ef --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-4-i8.c @@ -0,0 +1,16 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" +#include "sat_arith_data.h" + +#define T1 int8_t +#define T2 uint8_t + +DEF_SAT_S_ADD_FMT_4_WRAP(T1, T2, INT8_MIN, INT8_MAX) + +#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) +#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) +#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_4_WRAP(T1, x, y) + +#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-4.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-4.c deleted file mode 100644 index df81887..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-4.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int64_t -#define T2 uint64_t - -DEF_SAT_S_ADD_FMT_1_WRAP(T1, T2, INT64_MIN, INT64_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_1_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-5.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-5.c deleted file mode 100644 index d57e0a0..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-5.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int8_t -#define T2 uint8_t - -DEF_SAT_S_ADD_FMT_2_WRAP(T1, T2, INT8_MIN, INT8_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_2_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-6.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-6.c deleted file mode 100644 index cdac5bd..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-6.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int16_t -#define T2 uint16_t - -DEF_SAT_S_ADD_FMT_2_WRAP(T1, T2, INT16_MIN, INT16_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_2_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-7.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-7.c deleted file mode 100644 index 4ac952e..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-7.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int32_t -#define T2 uint32_t - -DEF_SAT_S_ADD_FMT_2_WRAP(T1, T2, INT32_MIN, INT32_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_2_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-8.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-8.c deleted file mode 100644 index 4d25e7f..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-8.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int64_t -#define T2 uint64_t - -DEF_SAT_S_ADD_FMT_2_WRAP(T1, T2, INT64_MIN, INT64_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_2_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-9.c b/gcc/testsuite/gcc.target/riscv/sat_s_add-run-9.c deleted file mode 100644 index 6d38e5f..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_s_add-run-9.c +++ /dev/null @@ -1,16 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" -#include "sat_arith_data.h" - -#define T1 int8_t -#define T2 uint8_t - -DEF_SAT_S_ADD_FMT_3_WRAP(T1, T2, INT8_MIN, INT8_MAX) - -#define DATA TEST_BINARY_DATA_WRAP(T1, ssadd) -#define T TEST_BINARY_STRUCT_DECL(T1, ssadd) -#define RUN_BINARY(x, y) RUN_SAT_S_ADD_FMT_3_WRAP(T1, x, y) - -#include "scalar_sat_binary_run_xxx.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-1-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-1-u16.c new file mode 100644 index 0000000..c138df8 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-1-u16.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint16_t_fmt_1: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slli\s+a0,\s*a0,\s*48 +** srli\s+a0,\s*a0,\s*48 +** ret +*/ +DEF_SAT_U_ADD_FMT_1(uint16_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-1-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-1-u32.c new file mode 100644 index 0000000..cb93d44 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-1-u32.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint32_t_fmt_1: +** slli\s+[atx][0-9]+,\s*a0,\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** add\s+[atx][0-9]+,\s*a[01],\s*a[01] +** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** sext.w\s+a0,\s*a0 +** ret +*/ +DEF_SAT_U_ADD_FMT_1(uint32_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-1-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-1-u64.c new file mode 100644 index 0000000..a95c4b3 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-1-u64.c @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint64_t_fmt_1: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** ret +*/ +DEF_SAT_U_ADD_FMT_1(uint64_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-1-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-1-u8.c new file mode 100644 index 0000000..6530f37 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-1-u8.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint8_t_fmt_1: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+a0,\s*a0,\s*0xff +** ret +*/ +DEF_SAT_U_ADD_FMT_1(uint8_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-1.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-1.c deleted file mode 100644 index 6530f37..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-1.c +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint8_t_fmt_1: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+a0,\s*a0,\s*0xff -** ret -*/ -DEF_SAT_U_ADD_FMT_1(uint8_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-10.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-10.c deleted file mode 100644 index eec5a36..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-10.c +++ /dev/null @@ -1,22 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint16_t_fmt_3: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slli\s+a0,\s*a0,\s*48 -** srli\s+a0,\s*a0,\s*48 -** ret -*/ -DEF_SAT_U_ADD_FMT_3(uint16_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-11.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-11.c deleted file mode 100644 index fa882a5..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-11.c +++ /dev/null @@ -1,23 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint32_t_fmt_3: -** slli\s+[atx][0-9]+,\s*a0,\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** add\s+[atx][0-9]+,\s*a[01],\s*a[01] -** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** sext.w\s+a0,\s*a0 -** ret -*/ -DEF_SAT_U_ADD_FMT_3(uint32_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-12.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-12.c deleted file mode 100644 index da485fb..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-12.c +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint64_t_fmt_3: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** ret -*/ -DEF_SAT_U_ADD_FMT_3(uint64_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-13.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-13.c deleted file mode 100644 index 5380bf3..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-13.c +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint8_t_fmt_4: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+a0,\s*a0,\s*0xff -** ret -*/ -DEF_SAT_U_ADD_FMT_4(uint8_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-14.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-14.c deleted file mode 100644 index 60247e9..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-14.c +++ /dev/null @@ -1,22 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint16_t_fmt_4: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slli\s+a0,\s*a0,\s*48 -** srli\s+a0,\s*a0,\s*48 -** ret -*/ -DEF_SAT_U_ADD_FMT_4(uint16_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-15.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-15.c deleted file mode 100644 index b903dba..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-15.c +++ /dev/null @@ -1,23 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint32_t_fmt_4: -** slli\s+[atx][0-9]+,\s*a0,\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** add\s+[atx][0-9]+,\s*a[01],\s*a[01] -** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** sext.w\s+a0,\s*a0 -** ret -*/ -DEF_SAT_U_ADD_FMT_4(uint32_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-16.c deleted file mode 100644 index c0b34dd..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-16.c +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint64_t_fmt_4: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** ret -*/ -DEF_SAT_U_ADD_FMT_4(uint64_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-17.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-17.c deleted file mode 100644 index 0ed8c8f..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-17.c +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint8_t_fmt_5: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+a0,\s*a0,\s*0xff -** ret -*/ -DEF_SAT_U_ADD_FMT_5(uint8_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-18.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-18.c deleted file mode 100644 index b145e6a..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-18.c +++ /dev/null @@ -1,22 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint16_t_fmt_5: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slli\s+a0,\s*a0,\s*48 -** srli\s+a0,\s*a0,\s*48 -** ret -*/ -DEF_SAT_U_ADD_FMT_5(uint16_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-19.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-19.c deleted file mode 100644 index 2390232..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-19.c +++ /dev/null @@ -1,23 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint32_t_fmt_5: -** slli\s+[atx][0-9]+,\s*a0,\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** add\s+[atx][0-9]+,\s*a[01],\s*a[01] -** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** sext.w\s+a0,\s*a0 -** ret -*/ -DEF_SAT_U_ADD_FMT_5(uint32_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-2-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-2-u16.c new file mode 100644 index 0000000..6f02547 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-2-u16.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint16_t_fmt_2: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slli\s+a0,\s*a0,\s*48 +** srli\s+a0,\s*a0,\s*48 +** ret +*/ +DEF_SAT_U_ADD_FMT_2(uint16_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-2-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-2-u32.c new file mode 100644 index 0000000..420c194 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-2-u32.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint32_t_fmt_2: +** slli\s+[atx][0-9]+,\s*a0,\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** add\s+[atx][0-9]+,\s*a[01],\s*a[01] +** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** sext.w\s+a0,\s*a0 +** ret +*/ +DEF_SAT_U_ADD_FMT_2(uint32_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-2-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-2-u64.c new file mode 100644 index 0000000..8a9cf7b --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-2-u64.c @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint64_t_fmt_2: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** ret +*/ +DEF_SAT_U_ADD_FMT_2(uint64_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-2-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-2-u8.c new file mode 100644 index 0000000..250b45f --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-2-u8.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint8_t_fmt_2: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+a0,\s*a0,\s*0xff +** ret +*/ +DEF_SAT_U_ADD_FMT_2(uint8_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-2.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-2.c deleted file mode 100644 index c138df8..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-2.c +++ /dev/null @@ -1,22 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint16_t_fmt_1: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slli\s+a0,\s*a0,\s*48 -** srli\s+a0,\s*a0,\s*48 -** ret -*/ -DEF_SAT_U_ADD_FMT_1(uint16_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-20.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-20.c deleted file mode 100644 index 481cdfd..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-20.c +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint64_t_fmt_5: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** ret -*/ -DEF_SAT_U_ADD_FMT_5(uint64_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-21.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-21.c deleted file mode 100644 index a1dd305..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-21.c +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint8_t_fmt_6: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+a0,\s*a0,\s*0xff -** ret -*/ -DEF_SAT_U_ADD_FMT_6(uint8_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-22.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-22.c deleted file mode 100644 index 44546d7..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-22.c +++ /dev/null @@ -1,22 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint16_t_fmt_6: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slli\s+a0,\s*a0,\s*48 -** srli\s+a0,\s*a0,\s*48 -** ret -*/ -DEF_SAT_U_ADD_FMT_6(uint16_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-23.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-23.c deleted file mode 100644 index 67c6b22..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-23.c +++ /dev/null @@ -1,23 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint32_t_fmt_6: -** slli\s+[atx][0-9]+,\s*a0,\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** add\s+[atx][0-9]+,\s*a[01],\s*a[01] -** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** sext.w\s+a0,\s*a0 -** ret -*/ -DEF_SAT_U_ADD_FMT_6(uint32_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-24.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-24.c deleted file mode 100644 index 800aee6..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-24.c +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint64_t_fmt_6: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** ret -*/ -DEF_SAT_U_ADD_FMT_6(uint64_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-3-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-3-u16.c new file mode 100644 index 0000000..eec5a36 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-3-u16.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint16_t_fmt_3: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slli\s+a0,\s*a0,\s*48 +** srli\s+a0,\s*a0,\s*48 +** ret +*/ +DEF_SAT_U_ADD_FMT_3(uint16_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-3-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-3-u32.c new file mode 100644 index 0000000..fa882a5 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-3-u32.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint32_t_fmt_3: +** slli\s+[atx][0-9]+,\s*a0,\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** add\s+[atx][0-9]+,\s*a[01],\s*a[01] +** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** sext.w\s+a0,\s*a0 +** ret +*/ +DEF_SAT_U_ADD_FMT_3(uint32_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-3-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-3-u64.c new file mode 100644 index 0000000..da485fb --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-3-u64.c @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint64_t_fmt_3: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** ret +*/ +DEF_SAT_U_ADD_FMT_3(uint64_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-3-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-3-u8.c new file mode 100644 index 0000000..a980390 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-3-u8.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint8_t_fmt_3: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+a0,\s*a0,\s*0xff +** ret +*/ +DEF_SAT_U_ADD_FMT_3(uint8_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-3.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-3.c deleted file mode 100644 index cb93d44..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-3.c +++ /dev/null @@ -1,23 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint32_t_fmt_1: -** slli\s+[atx][0-9]+,\s*a0,\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** add\s+[atx][0-9]+,\s*a[01],\s*a[01] -** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** sext.w\s+a0,\s*a0 -** ret -*/ -DEF_SAT_U_ADD_FMT_1(uint32_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-4-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-4-u16.c new file mode 100644 index 0000000..60247e9 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-4-u16.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint16_t_fmt_4: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slli\s+a0,\s*a0,\s*48 +** srli\s+a0,\s*a0,\s*48 +** ret +*/ +DEF_SAT_U_ADD_FMT_4(uint16_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-4-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-4-u32.c new file mode 100644 index 0000000..b903dba --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-4-u32.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint32_t_fmt_4: +** slli\s+[atx][0-9]+,\s*a0,\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** add\s+[atx][0-9]+,\s*a[01],\s*a[01] +** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** sext.w\s+a0,\s*a0 +** ret +*/ +DEF_SAT_U_ADD_FMT_4(uint32_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-4-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-4-u64.c new file mode 100644 index 0000000..c0b34dd --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-4-u64.c @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint64_t_fmt_4: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** ret +*/ +DEF_SAT_U_ADD_FMT_4(uint64_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-4-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-4-u8.c new file mode 100644 index 0000000..5380bf3 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-4-u8.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint8_t_fmt_4: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+a0,\s*a0,\s*0xff +** ret +*/ +DEF_SAT_U_ADD_FMT_4(uint8_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-4.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-4.c deleted file mode 100644 index a95c4b3..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-4.c +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint64_t_fmt_1: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** ret -*/ -DEF_SAT_U_ADD_FMT_1(uint64_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-5-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-5-u16.c new file mode 100644 index 0000000..b145e6a --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-5-u16.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint16_t_fmt_5: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slli\s+a0,\s*a0,\s*48 +** srli\s+a0,\s*a0,\s*48 +** ret +*/ +DEF_SAT_U_ADD_FMT_5(uint16_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-5-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-5-u32.c new file mode 100644 index 0000000..2390232 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-5-u32.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint32_t_fmt_5: +** slli\s+[atx][0-9]+,\s*a0,\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** add\s+[atx][0-9]+,\s*a[01],\s*a[01] +** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** sext.w\s+a0,\s*a0 +** ret +*/ +DEF_SAT_U_ADD_FMT_5(uint32_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-5-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-5-u64.c new file mode 100644 index 0000000..481cdfd --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-5-u64.c @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint64_t_fmt_5: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** ret +*/ +DEF_SAT_U_ADD_FMT_5(uint64_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-5-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-5-u8.c new file mode 100644 index 0000000..0ed8c8f --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-5-u8.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint8_t_fmt_5: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+a0,\s*a0,\s*0xff +** ret +*/ +DEF_SAT_U_ADD_FMT_5(uint8_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-5.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-5.c deleted file mode 100644 index 250b45f..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-5.c +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint8_t_fmt_2: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+a0,\s*a0,\s*0xff -** ret -*/ -DEF_SAT_U_ADD_FMT_2(uint8_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-6-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-6-u16.c new file mode 100644 index 0000000..44546d7 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-6-u16.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint16_t_fmt_6: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slli\s+a0,\s*a0,\s*48 +** srli\s+a0,\s*a0,\s*48 +** ret +*/ +DEF_SAT_U_ADD_FMT_6(uint16_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-6-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-6-u32.c new file mode 100644 index 0000000..67c6b22 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-6-u32.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint32_t_fmt_6: +** slli\s+[atx][0-9]+,\s*a0,\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** add\s+[atx][0-9]+,\s*a[01],\s*a[01] +** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** sext.w\s+a0,\s*a0 +** ret +*/ +DEF_SAT_U_ADD_FMT_6(uint32_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-6-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-6-u64.c new file mode 100644 index 0000000..800aee6 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-6-u64.c @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint64_t_fmt_6: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** ret +*/ +DEF_SAT_U_ADD_FMT_6(uint64_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-6-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-6-u8.c new file mode 100644 index 0000000..a1dd305 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-6-u8.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_uint8_t_fmt_6: +** add\s+[atx][0-9]+,\s*a0,\s*a1 +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+a0,\s*a0,\s*0xff +** ret +*/ +DEF_SAT_U_ADD_FMT_6(uint8_t) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-6.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-6.c deleted file mode 100644 index 6f02547..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-6.c +++ /dev/null @@ -1,22 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint16_t_fmt_2: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slli\s+a0,\s*a0,\s*48 -** srli\s+a0,\s*a0,\s*48 -** ret -*/ -DEF_SAT_U_ADD_FMT_2(uint16_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-7.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-7.c deleted file mode 100644 index 420c194..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-7.c +++ /dev/null @@ -1,23 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint32_t_fmt_2: -** slli\s+[atx][0-9]+,\s*a0,\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** add\s+[atx][0-9]+,\s*a[01],\s*a[01] -** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** sext.w\s+a0,\s*a0 -** ret -*/ -DEF_SAT_U_ADD_FMT_2(uint32_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-8.c deleted file mode 100644 index 8a9cf7b..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-8.c +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint64_t_fmt_2: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** ret -*/ -DEF_SAT_U_ADD_FMT_2(uint64_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-9.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-9.c deleted file mode 100644 index a980390..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-9.c +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_uint8_t_fmt_3: -** add\s+[atx][0-9]+,\s*a0,\s*a1 -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+a0,\s*a0,\s*0xff -** ret -*/ -DEF_SAT_U_ADD_FMT_3(uint8_t) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u16.c new file mode 100644 index 0000000..cb3879d --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u16.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint16_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_1 + +DEF_SAT_U_ADD_FMT_1(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 65534, 65534, }, + { 1, 65534, 65535, }, + { 2, 65534, 65535, }, + { 0, 65535, 65535, }, + { 1, 65535, 65535, }, + { 2, 65535, 65535, }, + { 65535, 65535, 65535, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u32.c new file mode 100644 index 0000000..c9a6080 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u32.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint32_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_1 + +DEF_SAT_U_ADD_FMT_1(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 4294967294, 4294967294, }, + { 1, 4294967294, 4294967295, }, + { 2, 4294967294, 4294967295, }, + { 0, 4294967295, 4294967295, }, + { 1, 4294967295, 4294967295, }, + { 2, 4294967295, 4294967295, }, + { 4294967295, 4294967295, 4294967295, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u64.c new file mode 100644 index 0000000..c19b7e2 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u64.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint64_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_1 + +DEF_SAT_U_ADD_FMT_1(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 18446744073709551614u, 18446744073709551614u, }, + { 1, 18446744073709551614u, 18446744073709551615u, }, + { 2, 18446744073709551614u, 18446744073709551615u, }, + { 0, 18446744073709551615u, 18446744073709551615u, }, + { 1, 18446744073709551615u, 18446744073709551615u, }, + { 2, 18446744073709551615u, 18446744073709551615u, }, + { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u8.c new file mode 100644 index 0000000..f197249 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-1-u8.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint8_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_1 + +DEF_SAT_U_ADD_FMT_1(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 254, 254, }, + { 1, 254, 255, }, + { 2, 254, 255, }, + { 0, 255, 255, }, + { 1, 255, 255, }, + { 2, 255, 255, }, + { 255, 255, 255, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-1.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-1.c deleted file mode 100644 index f197249..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-1.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint8_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_1 - -DEF_SAT_U_ADD_FMT_1(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 254, 254, }, - { 1, 254, 255, }, - { 2, 254, 255, }, - { 0, 255, 255, }, - { 1, 255, 255, }, - { 2, 255, 255, }, - { 255, 255, 255, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-10.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-10.c deleted file mode 100644 index bd935dc..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-10.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint16_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_3 - -DEF_SAT_U_ADD_FMT_3(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 65534, 65534, }, - { 1, 65534, 65535, }, - { 2, 65534, 65535, }, - { 0, 65535, 65535, }, - { 1, 65535, 65535, }, - { 2, 65535, 65535, }, - { 65535, 65535, 65535, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-11.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-11.c deleted file mode 100644 index deccf9a..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-11.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint32_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_3 - -DEF_SAT_U_ADD_FMT_3(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 4294967294, 4294967294, }, - { 1, 4294967294, 4294967295, }, - { 2, 4294967294, 4294967295, }, - { 0, 4294967295, 4294967295, }, - { 1, 4294967295, 4294967295, }, - { 2, 4294967295, 4294967295, }, - { 4294967295, 4294967295, 4294967295, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-12.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-12.c deleted file mode 100644 index 4f99367..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-12.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint64_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_3 - -DEF_SAT_U_ADD_FMT_3(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 18446744073709551614u, 18446744073709551614u, }, - { 1, 18446744073709551614u, 18446744073709551615u, }, - { 2, 18446744073709551614u, 18446744073709551615u, }, - { 0, 18446744073709551615u, 18446744073709551615u, }, - { 1, 18446744073709551615u, 18446744073709551615u, }, - { 2, 18446744073709551615u, 18446744073709551615u, }, - { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-13.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-13.c deleted file mode 100644 index 083d6e5..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-13.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint8_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_4 - -DEF_SAT_U_ADD_FMT_4(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 254, 254, }, - { 1, 254, 255, }, - { 2, 254, 255, }, - { 0, 255, 255, }, - { 1, 255, 255, }, - { 2, 255, 255, }, - { 255, 255, 255, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-14.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-14.c deleted file mode 100644 index 33a595d..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-14.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint16_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_4 - -DEF_SAT_U_ADD_FMT_4(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 65534, 65534, }, - { 1, 65534, 65535, }, - { 2, 65534, 65535, }, - { 0, 65535, 65535, }, - { 1, 65535, 65535, }, - { 2, 65535, 65535, }, - { 65535, 65535, 65535, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-15.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-15.c deleted file mode 100644 index 8a5b7c1..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-15.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint32_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_4 - -DEF_SAT_U_ADD_FMT_4(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 4294967294, 4294967294, }, - { 1, 4294967294, 4294967295, }, - { 2, 4294967294, 4294967295, }, - { 0, 4294967295, 4294967295, }, - { 1, 4294967295, 4294967295, }, - { 2, 4294967295, 4294967295, }, - { 4294967295, 4294967295, 4294967295, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-16.c deleted file mode 100644 index fa20aae..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-16.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint64_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_4 - -DEF_SAT_U_ADD_FMT_4(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 18446744073709551614u, 18446744073709551614u, }, - { 1, 18446744073709551614u, 18446744073709551615u, }, - { 2, 18446744073709551614u, 18446744073709551615u, }, - { 0, 18446744073709551615u, 18446744073709551615u, }, - { 1, 18446744073709551615u, 18446744073709551615u, }, - { 2, 18446744073709551615u, 18446744073709551615u, }, - { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-17.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-17.c deleted file mode 100644 index 936028c..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-17.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint8_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_5 - -DEF_SAT_U_ADD_FMT_5(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 254, 254, }, - { 1, 254, 255, }, - { 2, 254, 255, }, - { 0, 255, 255, }, - { 1, 255, 255, }, - { 2, 255, 255, }, - { 255, 255, 255, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-18.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-18.c deleted file mode 100644 index a1d5d70..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-18.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint16_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_5 - -DEF_SAT_U_ADD_FMT_5(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 65534, 65534, }, - { 1, 65534, 65535, }, - { 2, 65534, 65535, }, - { 0, 65535, 65535, }, - { 1, 65535, 65535, }, - { 2, 65535, 65535, }, - { 65535, 65535, 65535, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-19.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-19.c deleted file mode 100644 index 7608e71..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-19.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint32_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_5 - -DEF_SAT_U_ADD_FMT_5(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 4294967294, 4294967294, }, - { 1, 4294967294, 4294967295, }, - { 2, 4294967294, 4294967295, }, - { 0, 4294967295, 4294967295, }, - { 1, 4294967295, 4294967295, }, - { 2, 4294967295, 4294967295, }, - { 4294967295, 4294967295, 4294967295, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u16.c new file mode 100644 index 0000000..99b5c3a --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u16.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint16_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_2 + +DEF_SAT_U_ADD_FMT_2(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 65534, 65534, }, + { 1, 65534, 65535, }, + { 2, 65534, 65535, }, + { 0, 65535, 65535, }, + { 1, 65535, 65535, }, + { 2, 65535, 65535, }, + { 65535, 65535, 65535, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u32.c new file mode 100644 index 0000000..13f5954 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u32.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint32_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_2 + +DEF_SAT_U_ADD_FMT_2(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 4294967294, 4294967294, }, + { 1, 4294967294, 4294967295, }, + { 2, 4294967294, 4294967295, }, + { 0, 4294967295, 4294967295, }, + { 1, 4294967295, 4294967295, }, + { 2, 4294967295, 4294967295, }, + { 4294967295, 4294967295, 4294967295, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u64.c new file mode 100644 index 0000000..cdbea7b --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u64.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint64_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_2 + +DEF_SAT_U_ADD_FMT_2(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 18446744073709551614u, 18446744073709551614u, }, + { 1, 18446744073709551614u, 18446744073709551615u, }, + { 2, 18446744073709551614u, 18446744073709551615u, }, + { 0, 18446744073709551615u, 18446744073709551615u, }, + { 1, 18446744073709551615u, 18446744073709551615u, }, + { 2, 18446744073709551615u, 18446744073709551615u, }, + { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u8.c new file mode 100644 index 0000000..508531c --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-2-u8.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint8_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_2 + +DEF_SAT_U_ADD_FMT_2(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 254, 254, }, + { 1, 254, 255, }, + { 2, 254, 255, }, + { 0, 255, 255, }, + { 1, 255, 255, }, + { 2, 255, 255, }, + { 255, 255, 255, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-2.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-2.c deleted file mode 100644 index cb3879d..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-2.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint16_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_1 - -DEF_SAT_U_ADD_FMT_1(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 65534, 65534, }, - { 1, 65534, 65535, }, - { 2, 65534, 65535, }, - { 0, 65535, 65535, }, - { 1, 65535, 65535, }, - { 2, 65535, 65535, }, - { 65535, 65535, 65535, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-20.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-20.c deleted file mode 100644 index 496ab58..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-20.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint64_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_5 - -DEF_SAT_U_ADD_FMT_5(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 18446744073709551614u, 18446744073709551614u, }, - { 1, 18446744073709551614u, 18446744073709551615u, }, - { 2, 18446744073709551614u, 18446744073709551615u, }, - { 0, 18446744073709551615u, 18446744073709551615u, }, - { 1, 18446744073709551615u, 18446744073709551615u, }, - { 2, 18446744073709551615u, 18446744073709551615u, }, - { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-21.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-21.c deleted file mode 100644 index 8bc204e..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-21.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint8_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_6 - -DEF_SAT_U_ADD_FMT_6(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 254, 254, }, - { 1, 254, 255, }, - { 2, 254, 255, }, - { 0, 255, 255, }, - { 1, 255, 255, }, - { 2, 255, 255, }, - { 255, 255, 255, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-22.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-22.c deleted file mode 100644 index d304288..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-22.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint16_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_6 - -DEF_SAT_U_ADD_FMT_6(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 65534, 65534, }, - { 1, 65534, 65535, }, - { 2, 65534, 65535, }, - { 0, 65535, 65535, }, - { 1, 65535, 65535, }, - { 2, 65535, 65535, }, - { 65535, 65535, 65535, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-23.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-23.c deleted file mode 100644 index 1a1ea59..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-23.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint32_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_6 - -DEF_SAT_U_ADD_FMT_6(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 4294967294, 4294967294, }, - { 1, 4294967294, 4294967295, }, - { 2, 4294967294, 4294967295, }, - { 0, 4294967295, 4294967295, }, - { 1, 4294967295, 4294967295, }, - { 2, 4294967295, 4294967295, }, - { 4294967295, 4294967295, 4294967295, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-24.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-24.c deleted file mode 100644 index dc977d5..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-24.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint64_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_6 - -DEF_SAT_U_ADD_FMT_6(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 18446744073709551614u, 18446744073709551614u, }, - { 1, 18446744073709551614u, 18446744073709551615u, }, - { 2, 18446744073709551614u, 18446744073709551615u, }, - { 0, 18446744073709551615u, 18446744073709551615u, }, - { 1, 18446744073709551615u, 18446744073709551615u, }, - { 2, 18446744073709551615u, 18446744073709551615u, }, - { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u16.c new file mode 100644 index 0000000..bd935dc --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u16.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint16_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_3 + +DEF_SAT_U_ADD_FMT_3(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 65534, 65534, }, + { 1, 65534, 65535, }, + { 2, 65534, 65535, }, + { 0, 65535, 65535, }, + { 1, 65535, 65535, }, + { 2, 65535, 65535, }, + { 65535, 65535, 65535, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u32.c new file mode 100644 index 0000000..deccf9a --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u32.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint32_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_3 + +DEF_SAT_U_ADD_FMT_3(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 4294967294, 4294967294, }, + { 1, 4294967294, 4294967295, }, + { 2, 4294967294, 4294967295, }, + { 0, 4294967295, 4294967295, }, + { 1, 4294967295, 4294967295, }, + { 2, 4294967295, 4294967295, }, + { 4294967295, 4294967295, 4294967295, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u64.c new file mode 100644 index 0000000..4f99367 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u64.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint64_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_3 + +DEF_SAT_U_ADD_FMT_3(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 18446744073709551614u, 18446744073709551614u, }, + { 1, 18446744073709551614u, 18446744073709551615u, }, + { 2, 18446744073709551614u, 18446744073709551615u, }, + { 0, 18446744073709551615u, 18446744073709551615u, }, + { 1, 18446744073709551615u, 18446744073709551615u, }, + { 2, 18446744073709551615u, 18446744073709551615u, }, + { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u8.c new file mode 100644 index 0000000..670932f --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-3-u8.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint8_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_3 + +DEF_SAT_U_ADD_FMT_3(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 254, 254, }, + { 1, 254, 255, }, + { 2, 254, 255, }, + { 0, 255, 255, }, + { 1, 255, 255, }, + { 2, 255, 255, }, + { 255, 255, 255, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-3.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-3.c deleted file mode 100644 index c9a6080..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-3.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint32_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_1 - -DEF_SAT_U_ADD_FMT_1(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 4294967294, 4294967294, }, - { 1, 4294967294, 4294967295, }, - { 2, 4294967294, 4294967295, }, - { 0, 4294967295, 4294967295, }, - { 1, 4294967295, 4294967295, }, - { 2, 4294967295, 4294967295, }, - { 4294967295, 4294967295, 4294967295, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u16.c new file mode 100644 index 0000000..33a595d --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u16.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint16_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_4 + +DEF_SAT_U_ADD_FMT_4(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 65534, 65534, }, + { 1, 65534, 65535, }, + { 2, 65534, 65535, }, + { 0, 65535, 65535, }, + { 1, 65535, 65535, }, + { 2, 65535, 65535, }, + { 65535, 65535, 65535, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u32.c new file mode 100644 index 0000000..8a5b7c1 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u32.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint32_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_4 + +DEF_SAT_U_ADD_FMT_4(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 4294967294, 4294967294, }, + { 1, 4294967294, 4294967295, }, + { 2, 4294967294, 4294967295, }, + { 0, 4294967295, 4294967295, }, + { 1, 4294967295, 4294967295, }, + { 2, 4294967295, 4294967295, }, + { 4294967295, 4294967295, 4294967295, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u64.c new file mode 100644 index 0000000..fa20aae --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u64.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint64_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_4 + +DEF_SAT_U_ADD_FMT_4(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 18446744073709551614u, 18446744073709551614u, }, + { 1, 18446744073709551614u, 18446744073709551615u, }, + { 2, 18446744073709551614u, 18446744073709551615u, }, + { 0, 18446744073709551615u, 18446744073709551615u, }, + { 1, 18446744073709551615u, 18446744073709551615u, }, + { 2, 18446744073709551615u, 18446744073709551615u, }, + { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u8.c new file mode 100644 index 0000000..083d6e5 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-4-u8.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint8_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_4 + +DEF_SAT_U_ADD_FMT_4(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 254, 254, }, + { 1, 254, 255, }, + { 2, 254, 255, }, + { 0, 255, 255, }, + { 1, 255, 255, }, + { 2, 255, 255, }, + { 255, 255, 255, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-4.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-4.c deleted file mode 100644 index c19b7e2..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-4.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint64_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_1 - -DEF_SAT_U_ADD_FMT_1(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 18446744073709551614u, 18446744073709551614u, }, - { 1, 18446744073709551614u, 18446744073709551615u, }, - { 2, 18446744073709551614u, 18446744073709551615u, }, - { 0, 18446744073709551615u, 18446744073709551615u, }, - { 1, 18446744073709551615u, 18446744073709551615u, }, - { 2, 18446744073709551615u, 18446744073709551615u, }, - { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u16.c new file mode 100644 index 0000000..a1d5d70 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u16.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint16_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_5 + +DEF_SAT_U_ADD_FMT_5(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 65534, 65534, }, + { 1, 65534, 65535, }, + { 2, 65534, 65535, }, + { 0, 65535, 65535, }, + { 1, 65535, 65535, }, + { 2, 65535, 65535, }, + { 65535, 65535, 65535, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u32.c new file mode 100644 index 0000000..7608e71 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u32.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint32_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_5 + +DEF_SAT_U_ADD_FMT_5(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 4294967294, 4294967294, }, + { 1, 4294967294, 4294967295, }, + { 2, 4294967294, 4294967295, }, + { 0, 4294967295, 4294967295, }, + { 1, 4294967295, 4294967295, }, + { 2, 4294967295, 4294967295, }, + { 4294967295, 4294967295, 4294967295, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u64.c new file mode 100644 index 0000000..496ab58 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u64.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint64_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_5 + +DEF_SAT_U_ADD_FMT_5(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 18446744073709551614u, 18446744073709551614u, }, + { 1, 18446744073709551614u, 18446744073709551615u, }, + { 2, 18446744073709551614u, 18446744073709551615u, }, + { 0, 18446744073709551615u, 18446744073709551615u, }, + { 1, 18446744073709551615u, 18446744073709551615u, }, + { 2, 18446744073709551615u, 18446744073709551615u, }, + { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u8.c new file mode 100644 index 0000000..936028c --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-5-u8.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint8_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_5 + +DEF_SAT_U_ADD_FMT_5(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 254, 254, }, + { 1, 254, 255, }, + { 2, 254, 255, }, + { 0, 255, 255, }, + { 1, 255, 255, }, + { 2, 255, 255, }, + { 255, 255, 255, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-5.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-5.c deleted file mode 100644 index 508531c..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-5.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint8_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_2 - -DEF_SAT_U_ADD_FMT_2(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 254, 254, }, - { 1, 254, 255, }, - { 2, 254, 255, }, - { 0, 255, 255, }, - { 1, 255, 255, }, - { 2, 255, 255, }, - { 255, 255, 255, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u16.c new file mode 100644 index 0000000..d304288 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u16.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint16_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_6 + +DEF_SAT_U_ADD_FMT_6(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 65534, 65534, }, + { 1, 65534, 65535, }, + { 2, 65534, 65535, }, + { 0, 65535, 65535, }, + { 1, 65535, 65535, }, + { 2, 65535, 65535, }, + { 65535, 65535, 65535, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u32.c new file mode 100644 index 0000000..1a1ea59 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u32.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint32_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_6 + +DEF_SAT_U_ADD_FMT_6(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 4294967294, 4294967294, }, + { 1, 4294967294, 4294967295, }, + { 2, 4294967294, 4294967295, }, + { 0, 4294967295, 4294967295, }, + { 1, 4294967295, 4294967295, }, + { 2, 4294967295, 4294967295, }, + { 4294967295, 4294967295, 4294967295, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u64.c new file mode 100644 index 0000000..dc977d5 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u64.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint64_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_6 + +DEF_SAT_U_ADD_FMT_6(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 18446744073709551614u, 18446744073709551614u, }, + { 1, 18446744073709551614u, 18446744073709551615u, }, + { 2, 18446744073709551614u, 18446744073709551615u, }, + { 0, 18446744073709551615u, 18446744073709551615u, }, + { 1, 18446744073709551615u, 18446744073709551615u, }, + { 2, 18446744073709551615u, 18446744073709551615u, }, + { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u8.c new file mode 100644 index 0000000..8bc204e --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-6-u8.c @@ -0,0 +1,25 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +#define T uint8_t +#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_6 + +DEF_SAT_U_ADD_FMT_6(T) + +T test_data[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 254, 254, }, + { 1, 254, 255, }, + { 2, 254, 255, }, + { 0, 255, 255, }, + { 1, 255, 255, }, + { 2, 255, 255, }, + { 255, 255, 255, }, +}; + +#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-6.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-6.c deleted file mode 100644 index 99b5c3a..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-6.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint16_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_2 - -DEF_SAT_U_ADD_FMT_2(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 65534, 65534, }, - { 1, 65534, 65535, }, - { 2, 65534, 65535, }, - { 0, 65535, 65535, }, - { 1, 65535, 65535, }, - { 2, 65535, 65535, }, - { 65535, 65535, 65535, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-7.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-7.c deleted file mode 100644 index 13f5954..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-7.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint32_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_2 - -DEF_SAT_U_ADD_FMT_2(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 4294967294, 4294967294, }, - { 1, 4294967294, 4294967295, }, - { 2, 4294967294, 4294967295, }, - { 0, 4294967295, 4294967295, }, - { 1, 4294967295, 4294967295, }, - { 2, 4294967295, 4294967295, }, - { 4294967295, 4294967295, 4294967295, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-8.c deleted file mode 100644 index cdbea7b..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-8.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint64_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_2 - -DEF_SAT_U_ADD_FMT_2(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 18446744073709551614u, 18446744073709551614u, }, - { 1, 18446744073709551614u, 18446744073709551615u, }, - { 2, 18446744073709551614u, 18446744073709551615u, }, - { 0, 18446744073709551615u, 18446744073709551615u, }, - { 1, 18446744073709551615u, 18446744073709551615u, }, - { 2, 18446744073709551615u, 18446744073709551615u, }, - { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-9.c b/gcc/testsuite/gcc.target/riscv/sat_u_add-run-9.c deleted file mode 100644 index 670932f..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add-run-9.c +++ /dev/null @@ -1,25 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -#define T uint8_t -#define RUN_SAT_BINARY RUN_SAT_U_ADD_FMT_3 - -DEF_SAT_U_ADD_FMT_3(T) - -T test_data[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 254, 254, }, - { 1, 254, 255, }, - { 2, 254, 255, }, - { 0, 255, 255, }, - { 1, 255, 255, }, - { 2, 255, 255, }, - { 255, 255, 255, }, -}; - -#include "scalar_sat_binary.h" diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u16.c new file mode 100644 index 0000000..90a4e4a --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u16.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm3_uint16_t_fmt_1: +** addi\s+[atx][0-9]+,\s*a0,\s*3 +** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slli\s+a0,\s*a0,\s*48 +** srli\s+a0,\s*a0,\s*48 +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_1(uint16_t, 3) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u32.c new file mode 100644 index 0000000..e5e0ff6 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u32.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm7_uint32_t_fmt_1: +** slli\s+[atx][0-9]+,\s*a0,\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** addi\s+[atx][0-9]+,\s*a0,\s*7 +** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** sext.w\s+a0,\s*a0 +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_1(uint32_t, 7) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u64.c new file mode 100644 index 0000000..9eb373e --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u64.c @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm8_uint64_t_fmt_1: +** addi\s+[atx][0-9]+,\s*a0,\s*8 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_1(uint64_t, 8) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u8.c new file mode 100644 index 0000000..856001f --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1-u8.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm9_uint8_t_fmt_1: +** addi\s+[atx][0-9]+,\s*a0,\s*9 +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+a0,\s*a0,\s*0xff +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_1(uint8_t, 9) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1.c deleted file mode 100644 index 856001f..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-1.c +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm9_uint8_t_fmt_1: -** addi\s+[atx][0-9]+,\s*a0,\s*9 -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+a0,\s*a0,\s*0xff -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_1(uint8_t, 9) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-10.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-10.c deleted file mode 100644 index 9089d1e..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-10.c +++ /dev/null @@ -1,22 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm3_uint16_t_fmt_3: -** addi\s+[atx][0-9]+,\s*a0,\s*3 -** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slli\s+a0,\s*a0,\s*48 -** srli\s+a0,\s*a0,\s*48 -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_3(uint16_t, 3) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-11.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-11.c deleted file mode 100644 index 318cd3f..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-11.c +++ /dev/null @@ -1,23 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm7u_uint32_t_fmt_3: -** slli\s+[atx][0-9]+,\s*a0,\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** addi\s+[atx][0-9]+,\s*a0,\s*7 -** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** sext.w\s+a0,\s*a0 -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_3(uint32_t, 7u) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-12.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-12.c deleted file mode 100644 index 77cd953..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-12.c +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm8ull_uint64_t_fmt_3: -** addi\s+[atx][0-9]+,\s*a0,\s*8 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_3(uint64_t, 8ull) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-13.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-13.c deleted file mode 100644 index 58e330f..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-13.c +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm9_uint8_t_fmt_4: -** addi\s+[atx][0-9]+,\s*a0,\s*9 -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+a0,\s*a0,\s*0xff -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_4(uint8_t, 9) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-14.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-14.c deleted file mode 100644 index 859c5c9..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-14.c +++ /dev/null @@ -1,22 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm3_uint16_t_fmt_4: -** addi\s+[atx][0-9]+,\s*a0,\s*3 -** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slli\s+a0,\s*a0,\s*48 -** srli\s+a0,\s*a0,\s*48 -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_4(uint16_t, 3) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-15.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-15.c deleted file mode 100644 index e04d4d4..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-15.c +++ /dev/null @@ -1,23 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm7u_uint32_t_fmt_4: -** slli\s+[atx][0-9]+,\s*a0,\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** addi\s+[atx][0-9]+,\s*a0,\s*7 -** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** sext.w\s+a0,\s*a0 -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_4(uint32_t, 7u) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-16.c deleted file mode 100644 index 73ce397..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-16.c +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm8ull_uint64_t_fmt_4: -** addi\s+[atx][0-9]+,\s*a0,\s*8 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_4(uint64_t, 8ull) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u16.c new file mode 100644 index 0000000..a69a1e2 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u16.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm3_uint16_t_fmt_2: +** addi\s+[atx][0-9]+,\s*a0,\s*3 +** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slli\s+a0,\s*a0,\s*48 +** srli\s+a0,\s*a0,\s*48 +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_2(uint16_t, 3) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u32.c new file mode 100644 index 0000000..b2f2ffc --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u32.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm7_uint32_t_fmt_2: +** slli\s+[atx][0-9]+,\s*a0,\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** addi\s+[atx][0-9]+,\s*a0,\s*7 +** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** sext.w\s+a0,\s*a0 +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_2(uint32_t, 7) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u64.c new file mode 100644 index 0000000..6d07d4f --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u64.c @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm8_uint64_t_fmt_2: +** addi\s+[atx][0-9]+,\s*a0,\s*8 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_2(uint64_t, 8) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u8.c new file mode 100644 index 0000000..0c4fa94 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2-u8.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm9_uint8_t_fmt_2: +** addi\s+[atx][0-9]+,\s*a0,\s*9 +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+a0,\s*a0,\s*0xff +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_2(uint8_t, 9) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2.c deleted file mode 100644 index 90a4e4a..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-2.c +++ /dev/null @@ -1,22 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm3_uint16_t_fmt_1: -** addi\s+[atx][0-9]+,\s*a0,\s*3 -** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slli\s+a0,\s*a0,\s*48 -** srli\s+a0,\s*a0,\s*48 -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_1(uint16_t, 3) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u16.c new file mode 100644 index 0000000..9089d1e --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u16.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm3_uint16_t_fmt_3: +** addi\s+[atx][0-9]+,\s*a0,\s*3 +** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slli\s+a0,\s*a0,\s*48 +** srli\s+a0,\s*a0,\s*48 +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_3(uint16_t, 3) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u32.c new file mode 100644 index 0000000..318cd3f --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u32.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm7u_uint32_t_fmt_3: +** slli\s+[atx][0-9]+,\s*a0,\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** addi\s+[atx][0-9]+,\s*a0,\s*7 +** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** sext.w\s+a0,\s*a0 +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_3(uint32_t, 7u) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u64.c new file mode 100644 index 0000000..77cd953 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u64.c @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm8ull_uint64_t_fmt_3: +** addi\s+[atx][0-9]+,\s*a0,\s*8 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_3(uint64_t, 8ull) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u8.c new file mode 100644 index 0000000..04886ff --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3-u8.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm9_uint8_t_fmt_3: +** addi\s+[atx][0-9]+,\s*a0,\s*9 +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+a0,\s*a0,\s*0xff +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_3(uint8_t, 9) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3.c deleted file mode 100644 index e5e0ff6..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-3.c +++ /dev/null @@ -1,23 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm7_uint32_t_fmt_1: -** slli\s+[atx][0-9]+,\s*a0,\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** addi\s+[atx][0-9]+,\s*a0,\s*7 -** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** sext.w\s+a0,\s*a0 -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_1(uint32_t, 7) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u16.c new file mode 100644 index 0000000..859c5c9 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u16.c @@ -0,0 +1,22 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm3_uint16_t_fmt_4: +** addi\s+[atx][0-9]+,\s*a0,\s*3 +** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** slli\s+a0,\s*a0,\s*48 +** srli\s+a0,\s*a0,\s*48 +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_4(uint16_t, 3) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u32.c new file mode 100644 index 0000000..e04d4d4 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u32.c @@ -0,0 +1,23 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm7u_uint32_t_fmt_4: +** slli\s+[atx][0-9]+,\s*a0,\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** addi\s+[atx][0-9]+,\s*a0,\s*7 +** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 +** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** sext.w\s+a0,\s*a0 +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_4(uint32_t, 7u) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u64.c new file mode 100644 index 0000000..73ce397 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u64.c @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm8ull_uint64_t_fmt_4: +** addi\s+[atx][0-9]+,\s*a0,\s*8 +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_4(uint64_t, 8ull) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u8.c new file mode 100644 index 0000000..58e330f --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4-u8.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ +/* { dg-skip-if "" { *-*-* } { "-flto" } } */ +/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "sat_arith.h" + +/* +** sat_u_add_imm9_uint8_t_fmt_4: +** addi\s+[atx][0-9]+,\s*a0,\s*9 +** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff +** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** neg\s+[atx][0-9]+,\s*[atx][0-9]+ +** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ +** andi\s+a0,\s*a0,\s*0xff +** ret +*/ +DEF_SAT_U_ADD_IMM_FMT_4(uint8_t, 9) + +/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4.c deleted file mode 100644 index 9eb373e..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-4.c +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm8_uint64_t_fmt_1: -** addi\s+[atx][0-9]+,\s*a0,\s*8 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_1(uint64_t, 8) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-5.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-5.c deleted file mode 100644 index 0c4fa94..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-5.c +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm9_uint8_t_fmt_2: -** addi\s+[atx][0-9]+,\s*a0,\s*9 -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+a0,\s*a0,\s*0xff -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_2(uint8_t, 9) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-6.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-6.c deleted file mode 100644 index a69a1e2..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-6.c +++ /dev/null @@ -1,22 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm3_uint16_t_fmt_2: -** addi\s+[atx][0-9]+,\s*a0,\s*3 -** slli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*48 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** slli\s+a0,\s*a0,\s*48 -** srli\s+a0,\s*a0,\s*48 -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_2(uint16_t, 3) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-7.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-7.c deleted file mode 100644 index b2f2ffc..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-7.c +++ /dev/null @@ -1,23 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm7_uint32_t_fmt_2: -** slli\s+[atx][0-9]+,\s*a0,\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** addi\s+[atx][0-9]+,\s*a0,\s*7 -** slli\s+[atx][0-9]+,\s*[atx][0-9],\s*32 -** srli\s+[atx][0-9]+,\s*[atx][0-9]+,\s*32 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** sext.w\s+a0,\s*a0 -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_2(uint32_t, 7) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-8.c deleted file mode 100644 index 6d07d4f..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-8.c +++ /dev/null @@ -1,18 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm8_uint64_t_fmt_2: -** addi\s+[atx][0-9]+,\s*a0,\s*8 -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+a0,\s*[atx][0-9]+,\s*[atx][0-9]+ -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_2(uint64_t, 8) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-9.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-9.c deleted file mode 100644 index 04886ff..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-9.c +++ /dev/null @@ -1,20 +0,0 @@ -/* { dg-do compile } */ -/* { dg-skip-if "" { *-*-* } { "-flto" } } */ -/* { dg-options "-march=rv64gc -mabi=lp64d -O3 -fdump-rtl-expand-details -fno-schedule-insns -fno-schedule-insns2" } */ -/* { dg-final { check-function-bodies "**" "" } } */ - -#include "sat_arith.h" - -/* -** sat_u_add_imm9_uint8_t_fmt_3: -** addi\s+[atx][0-9]+,\s*a0,\s*9 -** andi\s+[atx][0-9]+,\s*[atx][0-9]+,\s*0xff -** sltu\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** neg\s+[atx][0-9]+,\s*[atx][0-9]+ -** or\s+[atx][0-9]+,\s*[atx][0-9]+,\s*[atx][0-9]+ -** andi\s+a0,\s*a0,\s*0xff -** ret -*/ -DEF_SAT_U_ADD_IMM_FMT_3(uint8_t, 9) - -/* { dg-final { scan-rtl-dump-times ".SAT_ADD " 2 "expand" } } */ diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u16.c new file mode 100644 index 0000000..090c765 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u16.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_1(uint16_t, 0) +DEF_SAT_U_ADD_IMM_FMT_1(uint16_t, 1) +DEF_SAT_U_ADD_IMM_FMT_1(uint16_t, 65534) +DEF_SAT_U_ADD_IMM_FMT_1(uint16_t, 65535) + +#define T uint16_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_1(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 65534, 65534, }, + { 1, 65534, 65535, }, + { 2, 65534, 65535, }, + { 0, 65535, 65535, }, + { 1, 65535, 65535, }, + { 2, 65535, 65535, }, + { 65535, 65535, 65535, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 65534, d[3][2]); + RUN (T, d[4][0], 65534, d[4][2]); + RUN (T, d[5][0], 65534, d[5][2]); + + RUN (T, d[6][0], 65535, d[6][2]); + RUN (T, d[7][0], 65535, d[7][2]); + RUN (T, d[8][0], 65535, d[8][2]); + RUN (T, d[9][0], 65535, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u32.c new file mode 100644 index 0000000..8dade74 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u32.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_1(uint32_t, 0) +DEF_SAT_U_ADD_IMM_FMT_1(uint32_t, 1) +DEF_SAT_U_ADD_IMM_FMT_1(uint32_t, 4294967294) +DEF_SAT_U_ADD_IMM_FMT_1(uint32_t, 4294967295) + +#define T uint32_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_1(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 4294967294, 4294967294, }, + { 1, 4294967294, 4294967295, }, + { 2, 4294967294, 4294967295, }, + { 0, 4294967295, 4294967295, }, + { 1, 4294967295, 4294967295, }, + { 2, 4294967295, 4294967295, }, + { 4294967295, 4294967295, 4294967295, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 4294967294, d[3][2]); + RUN (T, d[4][0], 4294967294, d[4][2]); + RUN (T, d[5][0], 4294967294, d[5][2]); + + RUN (T, d[6][0], 4294967295, d[6][2]); + RUN (T, d[7][0], 4294967295, d[7][2]); + RUN (T, d[8][0], 4294967295, d[8][2]); + RUN (T, d[9][0], 4294967295, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u64.c new file mode 100644 index 0000000..ace2df8 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u64.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_1(uint64_t, 0) +DEF_SAT_U_ADD_IMM_FMT_1(uint64_t, 1) +DEF_SAT_U_ADD_IMM_FMT_1(uint64_t, 18446744073709551614u) +DEF_SAT_U_ADD_IMM_FMT_1(uint64_t, 18446744073709551615u) + +#define T uint64_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_1(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 18446744073709551614u, 18446744073709551614u, }, + { 1, 18446744073709551614u, 18446744073709551615u, }, + { 2, 18446744073709551614u, 18446744073709551615u, }, + { 0, 18446744073709551615u, 18446744073709551615u, }, + { 1, 18446744073709551615u, 18446744073709551615u, }, + { 2, 18446744073709551615u, 18446744073709551615u, }, + { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 18446744073709551614u, d[3][2]); + RUN (T, d[4][0], 18446744073709551614u, d[4][2]); + RUN (T, d[5][0], 18446744073709551614u, d[5][2]); + + RUN (T, d[6][0], 18446744073709551615u, d[6][2]); + RUN (T, d[7][0], 18446744073709551615u, d[7][2]); + RUN (T, d[8][0], 18446744073709551615u, d[8][2]); + RUN (T, d[9][0], 18446744073709551615u, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u8.c new file mode 100644 index 0000000..0ce546f --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1-u8.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_1(uint8_t, 0) +DEF_SAT_U_ADD_IMM_FMT_1(uint8_t, 1) +DEF_SAT_U_ADD_IMM_FMT_1(uint8_t, 254) +DEF_SAT_U_ADD_IMM_FMT_1(uint8_t, 255) + +#define T uint8_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_1(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 254, 254, }, + { 1, 254, 255, }, + { 2, 254, 255, }, + { 0, 255, 255, }, + { 1, 255, 255, }, + { 2, 255, 255, }, + { 255, 255, 255, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 254, d[3][2]); + RUN (T, d[4][0], 254, d[4][2]); + RUN (T, d[5][0], 254, d[5][2]); + + RUN (T, d[6][0], 255, d[6][2]); + RUN (T, d[7][0], 255, d[7][2]); + RUN (T, d[8][0], 255, d[8][2]); + RUN (T, d[9][0], 255, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1.c deleted file mode 100644 index 0ce546f..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-1.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_1(uint8_t, 0) -DEF_SAT_U_ADD_IMM_FMT_1(uint8_t, 1) -DEF_SAT_U_ADD_IMM_FMT_1(uint8_t, 254) -DEF_SAT_U_ADD_IMM_FMT_1(uint8_t, 255) - -#define T uint8_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_1(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 254, 254, }, - { 1, 254, 255, }, - { 2, 254, 255, }, - { 0, 255, 255, }, - { 1, 255, 255, }, - { 2, 255, 255, }, - { 255, 255, 255, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 254, d[3][2]); - RUN (T, d[4][0], 254, d[4][2]); - RUN (T, d[5][0], 254, d[5][2]); - - RUN (T, d[6][0], 255, d[6][2]); - RUN (T, d[7][0], 255, d[7][2]); - RUN (T, d[8][0], 255, d[8][2]); - RUN (T, d[9][0], 255, d[9][2]); - - return 0; -} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-10.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-10.c deleted file mode 100644 index 64924a6..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-10.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_3(uint16_t, 0) -DEF_SAT_U_ADD_IMM_FMT_3(uint16_t, 1) -DEF_SAT_U_ADD_IMM_FMT_3(uint16_t, 65534) -DEF_SAT_U_ADD_IMM_FMT_3(uint16_t, 65535) - -#define T uint16_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_3(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 65534, 65534, }, - { 1, 65534, 65535, }, - { 2, 65534, 65535, }, - { 0, 65535, 65535, }, - { 1, 65535, 65535, }, - { 2, 65535, 65535, }, - { 65535, 65535, 65535, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 65534, d[3][2]); - RUN (T, d[4][0], 65534, d[4][2]); - RUN (T, d[5][0], 65534, d[5][2]); - - RUN (T, d[6][0], 65535, d[6][2]); - RUN (T, d[7][0], 65535, d[7][2]); - RUN (T, d[8][0], 65535, d[8][2]); - RUN (T, d[9][0], 65535, d[9][2]); - - return 0; -} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-11.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-11.c deleted file mode 100644 index 04f3217..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-11.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_3(uint32_t, 0) -DEF_SAT_U_ADD_IMM_FMT_3(uint32_t, 1) -DEF_SAT_U_ADD_IMM_FMT_3(uint32_t, 4294967294) -DEF_SAT_U_ADD_IMM_FMT_3(uint32_t, 4294967295) - -#define T uint32_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_3(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 4294967294, 4294967294, }, - { 1, 4294967294, 4294967295, }, - { 2, 4294967294, 4294967295, }, - { 0, 4294967295, 4294967295, }, - { 1, 4294967295, 4294967295, }, - { 2, 4294967295, 4294967295, }, - { 4294967295, 4294967295, 4294967295, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 4294967294, d[3][2]); - RUN (T, d[4][0], 4294967294, d[4][2]); - RUN (T, d[5][0], 4294967294, d[5][2]); - - RUN (T, d[6][0], 4294967295, d[6][2]); - RUN (T, d[7][0], 4294967295, d[7][2]); - RUN (T, d[8][0], 4294967295, d[8][2]); - RUN (T, d[9][0], 4294967295, d[9][2]); - - return 0; -} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-12.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-12.c deleted file mode 100644 index 8ef6c14..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-12.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_3(uint64_t, 0) -DEF_SAT_U_ADD_IMM_FMT_3(uint64_t, 1) -DEF_SAT_U_ADD_IMM_FMT_3(uint64_t, 18446744073709551614u) -DEF_SAT_U_ADD_IMM_FMT_3(uint64_t, 18446744073709551615u) - -#define T uint64_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_3(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 18446744073709551614u, 18446744073709551614u, }, - { 1, 18446744073709551614u, 18446744073709551615u, }, - { 2, 18446744073709551614u, 18446744073709551615u, }, - { 0, 18446744073709551615u, 18446744073709551615u, }, - { 1, 18446744073709551615u, 18446744073709551615u, }, - { 2, 18446744073709551615u, 18446744073709551615u, }, - { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 18446744073709551614u, d[3][2]); - RUN (T, d[4][0], 18446744073709551614u, d[4][2]); - RUN (T, d[5][0], 18446744073709551614u, d[5][2]); - - RUN (T, d[6][0], 18446744073709551615u, d[6][2]); - RUN (T, d[7][0], 18446744073709551615u, d[7][2]); - RUN (T, d[8][0], 18446744073709551615u, d[8][2]); - RUN (T, d[9][0], 18446744073709551615u, d[9][2]); - - return 0; -} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-13.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-13.c deleted file mode 100644 index 872923e..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-13.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_4(uint8_t, 0) -DEF_SAT_U_ADD_IMM_FMT_4(uint8_t, 1) -DEF_SAT_U_ADD_IMM_FMT_4(uint8_t, 254) -DEF_SAT_U_ADD_IMM_FMT_4(uint8_t, 255) - -#define T uint8_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_4(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 254, 254, }, - { 1, 254, 255, }, - { 2, 254, 255, }, - { 0, 255, 255, }, - { 1, 255, 255, }, - { 2, 255, 255, }, - { 255, 255, 255, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 254, d[3][2]); - RUN (T, d[4][0], 254, d[4][2]); - RUN (T, d[5][0], 254, d[5][2]); - - RUN (T, d[6][0], 255, d[6][2]); - RUN (T, d[7][0], 255, d[7][2]); - RUN (T, d[8][0], 255, d[8][2]); - RUN (T, d[9][0], 255, d[9][2]); - - return 0; -} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-14.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-14.c deleted file mode 100644 index 0b75206..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-14.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_4(uint16_t, 0) -DEF_SAT_U_ADD_IMM_FMT_4(uint16_t, 1) -DEF_SAT_U_ADD_IMM_FMT_4(uint16_t, 65534) -DEF_SAT_U_ADD_IMM_FMT_4(uint16_t, 65535) - -#define T uint16_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_4(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 65534, 65534, }, - { 1, 65534, 65535, }, - { 2, 65534, 65535, }, - { 0, 65535, 65535, }, - { 1, 65535, 65535, }, - { 2, 65535, 65535, }, - { 65535, 65535, 65535, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 65534, d[3][2]); - RUN (T, d[4][0], 65534, d[4][2]); - RUN (T, d[5][0], 65534, d[5][2]); - - RUN (T, d[6][0], 65535, d[6][2]); - RUN (T, d[7][0], 65535, d[7][2]); - RUN (T, d[8][0], 65535, d[8][2]); - RUN (T, d[9][0], 65535, d[9][2]); - - return 0; -} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-15.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-15.c deleted file mode 100644 index e548d0c..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-15.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_4(uint32_t, 0) -DEF_SAT_U_ADD_IMM_FMT_4(uint32_t, 1) -DEF_SAT_U_ADD_IMM_FMT_4(uint32_t, 4294967294) -DEF_SAT_U_ADD_IMM_FMT_4(uint32_t, 4294967295) - -#define T uint32_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_4(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 4294967294, 4294967294, }, - { 1, 4294967294, 4294967295, }, - { 2, 4294967294, 4294967295, }, - { 0, 4294967295, 4294967295, }, - { 1, 4294967295, 4294967295, }, - { 2, 4294967295, 4294967295, }, - { 4294967295, 4294967295, 4294967295, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 4294967294, d[3][2]); - RUN (T, d[4][0], 4294967294, d[4][2]); - RUN (T, d[5][0], 4294967294, d[5][2]); - - RUN (T, d[6][0], 4294967295, d[6][2]); - RUN (T, d[7][0], 4294967295, d[7][2]); - RUN (T, d[8][0], 4294967295, d[8][2]); - RUN (T, d[9][0], 4294967295, d[9][2]); - - return 0; -} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-16.c deleted file mode 100644 index 4335d82..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-16.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_4(uint64_t, 0) -DEF_SAT_U_ADD_IMM_FMT_4(uint64_t, 1) -DEF_SAT_U_ADD_IMM_FMT_4(uint64_t, 18446744073709551614u) -DEF_SAT_U_ADD_IMM_FMT_4(uint64_t, 18446744073709551615u) - -#define T uint64_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_4(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 18446744073709551614u, 18446744073709551614u, }, - { 1, 18446744073709551614u, 18446744073709551615u, }, - { 2, 18446744073709551614u, 18446744073709551615u, }, - { 0, 18446744073709551615u, 18446744073709551615u, }, - { 1, 18446744073709551615u, 18446744073709551615u, }, - { 2, 18446744073709551615u, 18446744073709551615u, }, - { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 18446744073709551614u, d[3][2]); - RUN (T, d[4][0], 18446744073709551614u, d[4][2]); - RUN (T, d[5][0], 18446744073709551614u, d[5][2]); - - RUN (T, d[6][0], 18446744073709551615u, d[6][2]); - RUN (T, d[7][0], 18446744073709551615u, d[7][2]); - RUN (T, d[8][0], 18446744073709551615u, d[8][2]); - RUN (T, d[9][0], 18446744073709551615u, d[9][2]); - - return 0; -} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u16.c new file mode 100644 index 0000000..7b6bd73 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u16.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_2(uint16_t, 0) +DEF_SAT_U_ADD_IMM_FMT_2(uint16_t, 1) +DEF_SAT_U_ADD_IMM_FMT_2(uint16_t, 65534) +DEF_SAT_U_ADD_IMM_FMT_2(uint16_t, 65535) + +#define T uint16_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_2(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 65534, 65534, }, + { 1, 65534, 65535, }, + { 2, 65534, 65535, }, + { 0, 65535, 65535, }, + { 1, 65535, 65535, }, + { 2, 65535, 65535, }, + { 65535, 65535, 65535, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 65534, d[3][2]); + RUN (T, d[4][0], 65534, d[4][2]); + RUN (T, d[5][0], 65534, d[5][2]); + + RUN (T, d[6][0], 65535, d[6][2]); + RUN (T, d[7][0], 65535, d[7][2]); + RUN (T, d[8][0], 65535, d[8][2]); + RUN (T, d[9][0], 65535, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u32.c new file mode 100644 index 0000000..8024152 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u32.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_2(uint32_t, 0) +DEF_SAT_U_ADD_IMM_FMT_2(uint32_t, 1) +DEF_SAT_U_ADD_IMM_FMT_2(uint32_t, 4294967294) +DEF_SAT_U_ADD_IMM_FMT_2(uint32_t, 4294967295) + +#define T uint32_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_2(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 4294967294, 4294967294, }, + { 1, 4294967294, 4294967295, }, + { 2, 4294967294, 4294967295, }, + { 0, 4294967295, 4294967295, }, + { 1, 4294967295, 4294967295, }, + { 2, 4294967295, 4294967295, }, + { 4294967295, 4294967295, 4294967295, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 4294967294, d[3][2]); + RUN (T, d[4][0], 4294967294, d[4][2]); + RUN (T, d[5][0], 4294967294, d[5][2]); + + RUN (T, d[6][0], 4294967295, d[6][2]); + RUN (T, d[7][0], 4294967295, d[7][2]); + RUN (T, d[8][0], 4294967295, d[8][2]); + RUN (T, d[9][0], 4294967295, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u64.c new file mode 100644 index 0000000..4a76dbb --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u64.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_2(uint64_t, 0) +DEF_SAT_U_ADD_IMM_FMT_2(uint64_t, 1) +DEF_SAT_U_ADD_IMM_FMT_2(uint64_t, 18446744073709551614u) +DEF_SAT_U_ADD_IMM_FMT_2(uint64_t, 18446744073709551615u) + +#define T uint64_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_2(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 18446744073709551614u, 18446744073709551614u, }, + { 1, 18446744073709551614u, 18446744073709551615u, }, + { 2, 18446744073709551614u, 18446744073709551615u, }, + { 0, 18446744073709551615u, 18446744073709551615u, }, + { 1, 18446744073709551615u, 18446744073709551615u, }, + { 2, 18446744073709551615u, 18446744073709551615u, }, + { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 18446744073709551614u, d[3][2]); + RUN (T, d[4][0], 18446744073709551614u, d[4][2]); + RUN (T, d[5][0], 18446744073709551614u, d[5][2]); + + RUN (T, d[6][0], 18446744073709551615u, d[6][2]); + RUN (T, d[7][0], 18446744073709551615u, d[7][2]); + RUN (T, d[8][0], 18446744073709551615u, d[8][2]); + RUN (T, d[9][0], 18446744073709551615u, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u8.c new file mode 100644 index 0000000..8e8759c --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2-u8.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_2(uint8_t, 0) +DEF_SAT_U_ADD_IMM_FMT_2(uint8_t, 1) +DEF_SAT_U_ADD_IMM_FMT_2(uint8_t, 254) +DEF_SAT_U_ADD_IMM_FMT_2(uint8_t, 255) + +#define T uint8_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_2(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 254, 254, }, + { 1, 254, 255, }, + { 2, 254, 255, }, + { 0, 255, 255, }, + { 1, 255, 255, }, + { 2, 255, 255, }, + { 255, 255, 255, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 254, d[3][2]); + RUN (T, d[4][0], 254, d[4][2]); + RUN (T, d[5][0], 254, d[5][2]); + + RUN (T, d[6][0], 255, d[6][2]); + RUN (T, d[7][0], 255, d[7][2]); + RUN (T, d[8][0], 255, d[8][2]); + RUN (T, d[9][0], 255, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2.c deleted file mode 100644 index 090c765..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-2.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_1(uint16_t, 0) -DEF_SAT_U_ADD_IMM_FMT_1(uint16_t, 1) -DEF_SAT_U_ADD_IMM_FMT_1(uint16_t, 65534) -DEF_SAT_U_ADD_IMM_FMT_1(uint16_t, 65535) - -#define T uint16_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_1(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 65534, 65534, }, - { 1, 65534, 65535, }, - { 2, 65534, 65535, }, - { 0, 65535, 65535, }, - { 1, 65535, 65535, }, - { 2, 65535, 65535, }, - { 65535, 65535, 65535, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 65534, d[3][2]); - RUN (T, d[4][0], 65534, d[4][2]); - RUN (T, d[5][0], 65534, d[5][2]); - - RUN (T, d[6][0], 65535, d[6][2]); - RUN (T, d[7][0], 65535, d[7][2]); - RUN (T, d[8][0], 65535, d[8][2]); - RUN (T, d[9][0], 65535, d[9][2]); - - return 0; -} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u16.c new file mode 100644 index 0000000..64924a6 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u16.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_3(uint16_t, 0) +DEF_SAT_U_ADD_IMM_FMT_3(uint16_t, 1) +DEF_SAT_U_ADD_IMM_FMT_3(uint16_t, 65534) +DEF_SAT_U_ADD_IMM_FMT_3(uint16_t, 65535) + +#define T uint16_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_3(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 65534, 65534, }, + { 1, 65534, 65535, }, + { 2, 65534, 65535, }, + { 0, 65535, 65535, }, + { 1, 65535, 65535, }, + { 2, 65535, 65535, }, + { 65535, 65535, 65535, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 65534, d[3][2]); + RUN (T, d[4][0], 65534, d[4][2]); + RUN (T, d[5][0], 65534, d[5][2]); + + RUN (T, d[6][0], 65535, d[6][2]); + RUN (T, d[7][0], 65535, d[7][2]); + RUN (T, d[8][0], 65535, d[8][2]); + RUN (T, d[9][0], 65535, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u32.c new file mode 100644 index 0000000..04f3217 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u32.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_3(uint32_t, 0) +DEF_SAT_U_ADD_IMM_FMT_3(uint32_t, 1) +DEF_SAT_U_ADD_IMM_FMT_3(uint32_t, 4294967294) +DEF_SAT_U_ADD_IMM_FMT_3(uint32_t, 4294967295) + +#define T uint32_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_3(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 4294967294, 4294967294, }, + { 1, 4294967294, 4294967295, }, + { 2, 4294967294, 4294967295, }, + { 0, 4294967295, 4294967295, }, + { 1, 4294967295, 4294967295, }, + { 2, 4294967295, 4294967295, }, + { 4294967295, 4294967295, 4294967295, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 4294967294, d[3][2]); + RUN (T, d[4][0], 4294967294, d[4][2]); + RUN (T, d[5][0], 4294967294, d[5][2]); + + RUN (T, d[6][0], 4294967295, d[6][2]); + RUN (T, d[7][0], 4294967295, d[7][2]); + RUN (T, d[8][0], 4294967295, d[8][2]); + RUN (T, d[9][0], 4294967295, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u64.c new file mode 100644 index 0000000..8ef6c14 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u64.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_3(uint64_t, 0) +DEF_SAT_U_ADD_IMM_FMT_3(uint64_t, 1) +DEF_SAT_U_ADD_IMM_FMT_3(uint64_t, 18446744073709551614u) +DEF_SAT_U_ADD_IMM_FMT_3(uint64_t, 18446744073709551615u) + +#define T uint64_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_3(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 18446744073709551614u, 18446744073709551614u, }, + { 1, 18446744073709551614u, 18446744073709551615u, }, + { 2, 18446744073709551614u, 18446744073709551615u, }, + { 0, 18446744073709551615u, 18446744073709551615u, }, + { 1, 18446744073709551615u, 18446744073709551615u, }, + { 2, 18446744073709551615u, 18446744073709551615u, }, + { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 18446744073709551614u, d[3][2]); + RUN (T, d[4][0], 18446744073709551614u, d[4][2]); + RUN (T, d[5][0], 18446744073709551614u, d[5][2]); + + RUN (T, d[6][0], 18446744073709551615u, d[6][2]); + RUN (T, d[7][0], 18446744073709551615u, d[7][2]); + RUN (T, d[8][0], 18446744073709551615u, d[8][2]); + RUN (T, d[9][0], 18446744073709551615u, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u8.c new file mode 100644 index 0000000..8867361 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3-u8.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_3(uint8_t, 0) +DEF_SAT_U_ADD_IMM_FMT_3(uint8_t, 1) +DEF_SAT_U_ADD_IMM_FMT_3(uint8_t, 254) +DEF_SAT_U_ADD_IMM_FMT_3(uint8_t, 255) + +#define T uint8_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_3(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 254, 254, }, + { 1, 254, 255, }, + { 2, 254, 255, }, + { 0, 255, 255, }, + { 1, 255, 255, }, + { 2, 255, 255, }, + { 255, 255, 255, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 254, d[3][2]); + RUN (T, d[4][0], 254, d[4][2]); + RUN (T, d[5][0], 254, d[5][2]); + + RUN (T, d[6][0], 255, d[6][2]); + RUN (T, d[7][0], 255, d[7][2]); + RUN (T, d[8][0], 255, d[8][2]); + RUN (T, d[9][0], 255, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3.c deleted file mode 100644 index 8dade74..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-3.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_1(uint32_t, 0) -DEF_SAT_U_ADD_IMM_FMT_1(uint32_t, 1) -DEF_SAT_U_ADD_IMM_FMT_1(uint32_t, 4294967294) -DEF_SAT_U_ADD_IMM_FMT_1(uint32_t, 4294967295) - -#define T uint32_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_1(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 4294967294, 4294967294, }, - { 1, 4294967294, 4294967295, }, - { 2, 4294967294, 4294967295, }, - { 0, 4294967295, 4294967295, }, - { 1, 4294967295, 4294967295, }, - { 2, 4294967295, 4294967295, }, - { 4294967295, 4294967295, 4294967295, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 4294967294, d[3][2]); - RUN (T, d[4][0], 4294967294, d[4][2]); - RUN (T, d[5][0], 4294967294, d[5][2]); - - RUN (T, d[6][0], 4294967295, d[6][2]); - RUN (T, d[7][0], 4294967295, d[7][2]); - RUN (T, d[8][0], 4294967295, d[8][2]); - RUN (T, d[9][0], 4294967295, d[9][2]); - - return 0; -} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u16.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u16.c new file mode 100644 index 0000000..0b75206 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u16.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_4(uint16_t, 0) +DEF_SAT_U_ADD_IMM_FMT_4(uint16_t, 1) +DEF_SAT_U_ADD_IMM_FMT_4(uint16_t, 65534) +DEF_SAT_U_ADD_IMM_FMT_4(uint16_t, 65535) + +#define T uint16_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_4(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 65534, 65534, }, + { 1, 65534, 65535, }, + { 2, 65534, 65535, }, + { 0, 65535, 65535, }, + { 1, 65535, 65535, }, + { 2, 65535, 65535, }, + { 65535, 65535, 65535, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 65534, d[3][2]); + RUN (T, d[4][0], 65534, d[4][2]); + RUN (T, d[5][0], 65534, d[5][2]); + + RUN (T, d[6][0], 65535, d[6][2]); + RUN (T, d[7][0], 65535, d[7][2]); + RUN (T, d[8][0], 65535, d[8][2]); + RUN (T, d[9][0], 65535, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u32.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u32.c new file mode 100644 index 0000000..e548d0c --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u32.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_4(uint32_t, 0) +DEF_SAT_U_ADD_IMM_FMT_4(uint32_t, 1) +DEF_SAT_U_ADD_IMM_FMT_4(uint32_t, 4294967294) +DEF_SAT_U_ADD_IMM_FMT_4(uint32_t, 4294967295) + +#define T uint32_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_4(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 4294967294, 4294967294, }, + { 1, 4294967294, 4294967295, }, + { 2, 4294967294, 4294967295, }, + { 0, 4294967295, 4294967295, }, + { 1, 4294967295, 4294967295, }, + { 2, 4294967295, 4294967295, }, + { 4294967295, 4294967295, 4294967295, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 4294967294, d[3][2]); + RUN (T, d[4][0], 4294967294, d[4][2]); + RUN (T, d[5][0], 4294967294, d[5][2]); + + RUN (T, d[6][0], 4294967295, d[6][2]); + RUN (T, d[7][0], 4294967295, d[7][2]); + RUN (T, d[8][0], 4294967295, d[8][2]); + RUN (T, d[9][0], 4294967295, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u64.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u64.c new file mode 100644 index 0000000..4335d82 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u64.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_4(uint64_t, 0) +DEF_SAT_U_ADD_IMM_FMT_4(uint64_t, 1) +DEF_SAT_U_ADD_IMM_FMT_4(uint64_t, 18446744073709551614u) +DEF_SAT_U_ADD_IMM_FMT_4(uint64_t, 18446744073709551615u) + +#define T uint64_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_4(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 18446744073709551614u, 18446744073709551614u, }, + { 1, 18446744073709551614u, 18446744073709551615u, }, + { 2, 18446744073709551614u, 18446744073709551615u, }, + { 0, 18446744073709551615u, 18446744073709551615u, }, + { 1, 18446744073709551615u, 18446744073709551615u, }, + { 2, 18446744073709551615u, 18446744073709551615u, }, + { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 18446744073709551614u, d[3][2]); + RUN (T, d[4][0], 18446744073709551614u, d[4][2]); + RUN (T, d[5][0], 18446744073709551614u, d[5][2]); + + RUN (T, d[6][0], 18446744073709551615u, d[6][2]); + RUN (T, d[7][0], 18446744073709551615u, d[7][2]); + RUN (T, d[8][0], 18446744073709551615u, d[8][2]); + RUN (T, d[9][0], 18446744073709551615u, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u8.c new file mode 100644 index 0000000..872923e --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4-u8.c @@ -0,0 +1,46 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-additional-options "-std=c99" } */ + +#include "sat_arith.h" + +DEF_SAT_U_ADD_IMM_FMT_4(uint8_t, 0) +DEF_SAT_U_ADD_IMM_FMT_4(uint8_t, 1) +DEF_SAT_U_ADD_IMM_FMT_4(uint8_t, 254) +DEF_SAT_U_ADD_IMM_FMT_4(uint8_t, 255) + +#define T uint8_t +#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_4(T, op, imm, expect) + +T d[][3] = { + /* arg_0, arg_1, expect */ + { 0, 0, 0, }, + { 0, 1, 1, }, + { 1, 1, 2, }, + { 0, 254, 254, }, + { 1, 254, 255, }, + { 2, 254, 255, }, + { 0, 255, 255, }, + { 1, 255, 255, }, + { 2, 255, 255, }, + { 255, 255, 255, }, +}; + +int +main () +{ + RUN (T, d[0][0], 0, d[0][2]); + + RUN (T, d[1][0], 1, d[1][2]); + RUN (T, d[2][0], 1, d[2][2]); + + RUN (T, d[3][0], 254, d[3][2]); + RUN (T, d[4][0], 254, d[4][2]); + RUN (T, d[5][0], 254, d[5][2]); + + RUN (T, d[6][0], 255, d[6][2]); + RUN (T, d[7][0], 255, d[7][2]); + RUN (T, d[8][0], 255, d[8][2]); + RUN (T, d[9][0], 255, d[9][2]); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4.c deleted file mode 100644 index ace2df8..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-4.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_1(uint64_t, 0) -DEF_SAT_U_ADD_IMM_FMT_1(uint64_t, 1) -DEF_SAT_U_ADD_IMM_FMT_1(uint64_t, 18446744073709551614u) -DEF_SAT_U_ADD_IMM_FMT_1(uint64_t, 18446744073709551615u) - -#define T uint64_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_1(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 18446744073709551614u, 18446744073709551614u, }, - { 1, 18446744073709551614u, 18446744073709551615u, }, - { 2, 18446744073709551614u, 18446744073709551615u, }, - { 0, 18446744073709551615u, 18446744073709551615u, }, - { 1, 18446744073709551615u, 18446744073709551615u, }, - { 2, 18446744073709551615u, 18446744073709551615u, }, - { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 18446744073709551614u, d[3][2]); - RUN (T, d[4][0], 18446744073709551614u, d[4][2]); - RUN (T, d[5][0], 18446744073709551614u, d[5][2]); - - RUN (T, d[6][0], 18446744073709551615u, d[6][2]); - RUN (T, d[7][0], 18446744073709551615u, d[7][2]); - RUN (T, d[8][0], 18446744073709551615u, d[8][2]); - RUN (T, d[9][0], 18446744073709551615u, d[9][2]); - - return 0; -} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-5.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-5.c deleted file mode 100644 index 8e8759c..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-5.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_2(uint8_t, 0) -DEF_SAT_U_ADD_IMM_FMT_2(uint8_t, 1) -DEF_SAT_U_ADD_IMM_FMT_2(uint8_t, 254) -DEF_SAT_U_ADD_IMM_FMT_2(uint8_t, 255) - -#define T uint8_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_2(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 254, 254, }, - { 1, 254, 255, }, - { 2, 254, 255, }, - { 0, 255, 255, }, - { 1, 255, 255, }, - { 2, 255, 255, }, - { 255, 255, 255, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 254, d[3][2]); - RUN (T, d[4][0], 254, d[4][2]); - RUN (T, d[5][0], 254, d[5][2]); - - RUN (T, d[6][0], 255, d[6][2]); - RUN (T, d[7][0], 255, d[7][2]); - RUN (T, d[8][0], 255, d[8][2]); - RUN (T, d[9][0], 255, d[9][2]); - - return 0; -} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-6.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-6.c deleted file mode 100644 index 7b6bd73..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-6.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_2(uint16_t, 0) -DEF_SAT_U_ADD_IMM_FMT_2(uint16_t, 1) -DEF_SAT_U_ADD_IMM_FMT_2(uint16_t, 65534) -DEF_SAT_U_ADD_IMM_FMT_2(uint16_t, 65535) - -#define T uint16_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_2(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 65534, 65534, }, - { 1, 65534, 65535, }, - { 2, 65534, 65535, }, - { 0, 65535, 65535, }, - { 1, 65535, 65535, }, - { 2, 65535, 65535, }, - { 65535, 65535, 65535, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 65534, d[3][2]); - RUN (T, d[4][0], 65534, d[4][2]); - RUN (T, d[5][0], 65534, d[5][2]); - - RUN (T, d[6][0], 65535, d[6][2]); - RUN (T, d[7][0], 65535, d[7][2]); - RUN (T, d[8][0], 65535, d[8][2]); - RUN (T, d[9][0], 65535, d[9][2]); - - return 0; -} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-7.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-7.c deleted file mode 100644 index 8024152..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-7.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_2(uint32_t, 0) -DEF_SAT_U_ADD_IMM_FMT_2(uint32_t, 1) -DEF_SAT_U_ADD_IMM_FMT_2(uint32_t, 4294967294) -DEF_SAT_U_ADD_IMM_FMT_2(uint32_t, 4294967295) - -#define T uint32_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_2(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 4294967294, 4294967294, }, - { 1, 4294967294, 4294967295, }, - { 2, 4294967294, 4294967295, }, - { 0, 4294967295, 4294967295, }, - { 1, 4294967295, 4294967295, }, - { 2, 4294967295, 4294967295, }, - { 4294967295, 4294967295, 4294967295, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 4294967294, d[3][2]); - RUN (T, d[4][0], 4294967294, d[4][2]); - RUN (T, d[5][0], 4294967294, d[5][2]); - - RUN (T, d[6][0], 4294967295, d[6][2]); - RUN (T, d[7][0], 4294967295, d[7][2]); - RUN (T, d[8][0], 4294967295, d[8][2]); - RUN (T, d[9][0], 4294967295, d[9][2]); - - return 0; -} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-8.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-8.c deleted file mode 100644 index 4a76dbb..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-8.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_2(uint64_t, 0) -DEF_SAT_U_ADD_IMM_FMT_2(uint64_t, 1) -DEF_SAT_U_ADD_IMM_FMT_2(uint64_t, 18446744073709551614u) -DEF_SAT_U_ADD_IMM_FMT_2(uint64_t, 18446744073709551615u) - -#define T uint64_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_2(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 18446744073709551614u, 18446744073709551614u, }, - { 1, 18446744073709551614u, 18446744073709551615u, }, - { 2, 18446744073709551614u, 18446744073709551615u, }, - { 0, 18446744073709551615u, 18446744073709551615u, }, - { 1, 18446744073709551615u, 18446744073709551615u, }, - { 2, 18446744073709551615u, 18446744073709551615u, }, - { 18446744073709551615u, 18446744073709551615u, 18446744073709551615u, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 18446744073709551614u, d[3][2]); - RUN (T, d[4][0], 18446744073709551614u, d[4][2]); - RUN (T, d[5][0], 18446744073709551614u, d[5][2]); - - RUN (T, d[6][0], 18446744073709551615u, d[6][2]); - RUN (T, d[7][0], 18446744073709551615u, d[7][2]); - RUN (T, d[8][0], 18446744073709551615u, d[8][2]); - RUN (T, d[9][0], 18446744073709551615u, d[9][2]); - - return 0; -} diff --git a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-9.c b/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-9.c deleted file mode 100644 index 8867361..0000000 --- a/gcc/testsuite/gcc.target/riscv/sat_u_add_imm-run-9.c +++ /dev/null @@ -1,46 +0,0 @@ -/* { dg-do run { target { riscv_v } } } */ -/* { dg-additional-options "-std=c99" } */ - -#include "sat_arith.h" - -DEF_SAT_U_ADD_IMM_FMT_3(uint8_t, 0) -DEF_SAT_U_ADD_IMM_FMT_3(uint8_t, 1) -DEF_SAT_U_ADD_IMM_FMT_3(uint8_t, 254) -DEF_SAT_U_ADD_IMM_FMT_3(uint8_t, 255) - -#define T uint8_t -#define RUN(T, op, imm, expect) RUN_SAT_U_ADD_IMM_FMT_3(T, op, imm, expect) - -T d[][3] = { - /* arg_0, arg_1, expect */ - { 0, 0, 0, }, - { 0, 1, 1, }, - { 1, 1, 2, }, - { 0, 254, 254, }, - { 1, 254, 255, }, - { 2, 254, 255, }, - { 0, 255, 255, }, - { 1, 255, 255, }, - { 2, 255, 255, }, - { 255, 255, 255, }, -}; - -int -main () -{ - RUN (T, d[0][0], 0, d[0][2]); - - RUN (T, d[1][0], 1, d[1][2]); - RUN (T, d[2][0], 1, d[2][2]); - - RUN (T, d[3][0], 254, d[3][2]); - RUN (T, d[4][0], 254, d[4][2]); - RUN (T, d[5][0], 254, d[5][2]); - - RUN (T, d[6][0], 255, d[6][2]); - RUN (T, d[7][0], 255, d[7][2]); - RUN (T, d[8][0], 255, d[8][2]); - RUN (T, d[9][0], 255, d[9][2]); - - return 0; -} -- cgit v1.1