213 lines · c
1// RUN: %clang --target=riscv32-unknown-linux-gnu -march=rv32i -E -dM %s \2// RUN: -o - | FileCheck %s3// RUN: %clang --target=riscv64-unknown-linux-gnu -march=rv64i -E -dM %s \4// RUN: -o - | FileCheck %s5 6// CHECK-NOT: __riscv_xsfcease {{.*$}}7// CHECK-NOT: __riscv_xsfvcp {{.*$}}8// CHECK-NOT: __riscv_xsfvfbfexp16e {{.*$}}9// CHECK-NOT: __riscv_xsfvfexp16e {{.*$}}10// CHECK-NOT: __riscv_xsfvfexp32e {{.*$}}11// CHECK-NOT: __riscv_xsfvfexpa {{.*$}}12// CHECK-NOT: __riscv_xsfvfexpa64e {{.*$}}13// CHECK-NOT: __riscv_xsfvfnrclipxfqf {{.*$}}14// CHECK-NOT: __riscv_xsfvfwmaccqqq {{.*$}}15// CHECK-NOT: __riscv_xsfqmaccdod {{.*$}}16// CHECK-NOT: __riscv_xsfvqmaccqoq {{.*$}}17// CHECK-NOT: __riscv_xsifivecdiscarddlone {{.*$}}18// CHECK-NOT: __riscv_xsifivecflushdlone {{.*$}}19// CHECK-NOT: __riscv_xsfmm128t {{.*$}}20// CHECK-NOT: __riscv_xsfmm16t {{.*$}}21// CHECK-NOT: __riscv_xsfmm32a8i {{.*$}}22// CHECK-NOT: __riscv_xsfmm32a8f {{.*$}}23// CHECK-NOT: __riscv_xsfmm32a16f {{.*$}}24// CHECK-NOT: __riscv_xsfmm32a32f {{.*$}}25// CHECK-NOT: __riscv_xsfmm32a32t {{.*$}}26// CHECK-NOT: __riscv_xsfmm64a64f {{.*$}}27// CHECK-NOT: __riscv_xsfmm64t {{.*$}}28// CHECK-NOT: __riscv_xsfmmbase {{.*$}}29 30// RUN: %clang --target=riscv32-unknown-linux-gnu \31// RUN: -march=rv32ixsfcease -E -dM %s \32// RUN: -o - | FileCheck --check-prefix=CHECK-XSFCEASE-EXT %s33// RUN: %clang --target=riscv64-unknown-linux-gnu \34// RUN: -march=rv64ixsfcease -E -dM %s \35// RUN: -o - | FileCheck --check-prefix=CHECK-XSFCEASE-EXT %s36// CHECK-XSFCEASE-EXT: __riscv_xsfcease 1000000{{$}}37 38// RUN: %clang --target=riscv32-unknown-linux-gnu \39// RUN: -march=rv32ixsfvcp -E -dM %s \40// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVCP-EXT %s41// RUN: %clang --target=riscv64-unknown-linux-gnu \42// RUN: -march=rv64ixsfvcp -E -dM %s \43// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVCP-EXT %s44// CHECK-XSFVCP-EXT: __riscv_xsfvcp 1000000{{$}}45 46// RUN: %clang --target=riscv32-unknown-linux-gnu \47// RUN: -march=rv32ixsfvfbfexp16e_zvfbfmin -E -dM %s \48// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFBFEXP16E-EXT %s49// RUN: %clang --target=riscv64-unknown-linux-gnu \50// RUN: -march=rv64ixsfvfbfexp16e_zvfbfmin -E -dM %s \51// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFBFEXP16E-EXT %s52// CHECK-XSFVFBFEXP16E-EXT: __riscv_xsfvfbfexp16e 5000{{$}}53 54// RUN: %clang --target=riscv32-unknown-linux-gnu \55// RUN: -march=rv32ixsfvfexp16e -E -dM %s \56// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFEXP16E-EXT %s57// RUN: %clang --target=riscv64-unknown-linux-gnu \58// RUN: -march=rv64ixsfvfexp16e -E -dM %s \59// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFEXP16E-EXT %s60// CHECK-XSFVFEXP16E-EXT: __riscv_xsfvfexp16e 5000{{$}}61 62// RUN: %clang --target=riscv32-unknown-linux-gnu \63// RUN: -march=rv32ixsfvfexp32e -E -dM %s \64// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFEXP32E-EXT %s65// RUN: %clang --target=riscv64-unknown-linux-gnu \66// RUN: -march=rv64ixsfvfexp32e -E -dM %s \67// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFEXP32E-EXT %s68// CHECK-XSFVFEXP32E-EXT: __riscv_xsfvfexp32e 5000{{$}}69 70// RUN: %clang --target=riscv32-unknown-linux-gnu \71// RUN: -march=rv32ixsfvfexpa -E -dM %s \72// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFEXPA-EXT %s73// RUN: %clang --target=riscv64-unknown-linux-gnu \74// RUN: -march=rv64ixsfvfexpa -E -dM %s \75// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFEXPA-EXT %s76// CHECK-XSFVFEXPA-EXT: __riscv_xsfvfexpa 2000{{$}}77 78// RUN: %clang --target=riscv32-unknown-linux-gnu \79// RUN: -march=rv32ixsfvfexpa64e -E -dM %s \80// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFEXPA64E-EXT %s81// RUN: %clang --target=riscv64-unknown-linux-gnu \82// RUN: -march=rv64ixsfvfexpa64e -E -dM %s \83// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFEXPA64E-EXT %s84// CHECK-XSFVFEXPA64E-EXT: __riscv_xsfvfexpa64e 2000{{$}}85 86// RUN: %clang --target=riscv32-unknown-linux-gnu \87// RUN: -march=rv32ixsfvfnrclipxfqf -E -dM %s \88// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFNRCLIPXFQF-EXT %s89// RUN: %clang --target=riscv64-unknown-linux-gnu \90// RUN: -march=rv64ixsfvfnrclipxfqf -E -dM %s \91// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFNRCLIPXFQF-EXT %s92// CHECK-XSFVFNRCLIPXFQF-EXT: __riscv_xsfvfnrclipxfqf 1000000{{$}}93 94// RUN: %clang --target=riscv32-unknown-linux-gnu \95// RUN: -march=rv32ixsfvfwmaccqqq -E -dM %s \96// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFWMACCQQQ-EXT %s97// RUN: %clang --target=riscv64-unknown-linux-gnu \98// RUN: -march=rv64ixsfvfwmaccqqq -E -dM %s \99// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVFWMACCQQQ-EXT %s100// CHECK-XSFVFWMACCQQQ-EXT: __riscv_xsfvfwmaccqqq 1000000{{$}}101 102// RUN: %clang --target=riscv32-unknown-linux-gnu \103// RUN: -march=rv32ixsfvqmaccdod -E -dM %s \104// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVQMACCDOD-EXT %s105// RUN: %clang --target=riscv64-unknown-linux-gnu \106// RUN: -march=rv64ixsfvqmaccdod -E -dM %s \107// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVQMACCDOD-EXT %s108// CHECK-XSFVQMACCDOD-EXT: __riscv_xsfvqmaccdod 1000000{{$}}109 110// RUN: %clang --target=riscv32-unknown-linux-gnu \111// RUN: -march=rv32ixsfvqmaccqoq -E -dM %s \112// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVQMACCQOQ-EXT %s113// RUN: %clang --target=riscv64-unknown-linux-gnu \114// RUN: -march=rv64ixsfvqmaccqoq -E -dM %s \115// RUN: -o - | FileCheck --check-prefix=CHECK-XSFVQMACCQOQ-EXT %s116// CHECK-XSFVQMACCQOQ-EXT: __riscv_xsfvqmaccqoq 1000000{{$}}117 118// RUN: %clang --target=riscv32-unknown-linux-gnu \119// RUN: -march=rv32ixsifivecdiscarddlone -E -dM %s \120// RUN: -o - | FileCheck --check-prefix=CHECK-XSIFIVECDISCARDDLONE-EXT %s121// RUN: %clang --target=riscv64-unknown-linux-gnu \122// RUN: -march=rv64ixsifivecdiscarddlone -E -dM %s \123// RUN: -o - | FileCheck --check-prefix=CHECK-XSIFIVECDISCARDDLONE-EXT %s124// CHECK-XSIFIVECDISCARDDLONE-EXT: __riscv_xsifivecdiscarddlone 1000000{{$}}125 126// RUN: %clang --target=riscv32-unknown-linux-gnu \127// RUN: -march=rv32ixsifivecflushdlone -E -dM %s \128// RUN: -o - | FileCheck --check-prefix=CHECK-XSIFIVECFLUSHDLONE-EXT %s129// RUN: %clang --target=riscv64-unknown-linux-gnu \130// RUN: -march=rv64ixsifivecflushdlone -E -dM %s \131// RUN: -o - | FileCheck --check-prefix=CHECK-XSIFIVECFLUSHDLONE-EXT %s132// CHECK-XSIFIVECFLUSHDLONE-EXT: __riscv_xsifivecflushdlone 1000000{{$}}133 134// RUN: %clang --target=riscv32 \135// RUN: -march=rv32i_zve32x_xsfmm128t -E -dM %s \136// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM128T %s137// RUN: %clang --target=riscv64 \138// RUN: -march=rv64i_zve32x_xsfmm128t -E -dM %s \139// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM128T %s140// CHECK-XSFMM128T: __riscv_xsfmm128t 6000{{$}}141//142// RUN: %clang --target=riscv32 \143// RUN: -march=rv32i_zve32x_xsfmm16t -E -dM %s \144// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM16T %s145// RUN: %clang --target=riscv64 \146// RUN: -march=rv64i_zve32x_xsfmm16t -E -dM %s \147// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM16T %s148// CHECK-XSFMM16T: __riscv_xsfmm16t 6000{{$}}149 150// RUN: %clang --target=riscv32 \151// RUN: -march=rv32i_zve32x_xsfmm32a8i -E -dM %s \152// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM32a8I %s153// RUN: %clang --target=riscv64 \154// RUN: -march=rv64i_zve32x_xsfmm32a8i -E -dM %s \155// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM32a8I %s156// CHECK-XSFMM32a8I: __riscv_xsfmm32a8i 6000{{$}}157 158// RUN: %clang --target=riscv32 \159// RUN: -march=rv32i_zve32x_xsfmm32a8f -E -dM %s \160// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM32A8F %s161// RUN: %clang --target=riscv64 \162// RUN: -march=rv64i_zve32x_xsfmm32a8f -E -dM %s \163// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM32A8F %s164// CHECK-XSFMM32A8F: __riscv_xsfmm32a8f 6000{{$}}165 166// RUN: %clang --target=riscv32 \167// RUN: -march=rv32i_zve32x_xsfmm32a16f -E -dM %s \168// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM32a16F %s169// RUN: %clang --target=riscv64 \170// RUN: -march=rv64i_zve32x_xsfmm32a16f -E -dM %s \171// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM32a16F %s172// CHECK-XSFMM32a16F: __riscv_xsfmm32a16f 6000{{$}}173 174// RUN: %clang --target=riscv32 \175// RUN: -march=rv32i_zve32x_xsfmm32a32f -E -dM %s \176// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM32a32F %s177// RUN: %clang --target=riscv64 \178// RUN: -march=rv64i_zve32x_xsfmm32a32f -E -dM %s \179// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM32a32F %s180// CHECK-XSFMM32a32F: __riscv_xsfmm32a32f 6000{{$}}181 182// RUN: %clang --target=riscv32 \183// RUN: -march=rv32i_zve32x_xsfmm32t -E -dM %s \184// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM32T %s185// RUN: %clang --target=riscv64 \186// RUN: -march=rv64i_zve32x_xsfmm32t -E -dM %s \187// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM32T %s188// CHECK-XSFMM32T: __riscv_xsfmm32t 6000{{$}}189 190// RUN: %clang --target=riscv32 \191// RUN: -march=rv32i_zve32x_xsfmm64a64f -E -dM %s \192// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM64a64f %s193// RUN: %clang --target=riscv64 \194// RUN: -march=rv64i_zve32x_xsfmm64a64f -E -dM %s \195// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM64a64f %s196// CHECK-XSFMM64a64f: __riscv_xsfmm64a64f 6000{{$}}197 198// RUN: %clang --target=riscv32 \199// RUN: -march=rv32i_zve32x_xsfmm64t -E -dM %s \200// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM64T %s201// RUN: %clang --target=riscv64 \202// RUN: -march=rv64i_zve32x_xsfmm64t -E -dM %s \203// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMM64T %s204// CHECK-XSFMM64T: __riscv_xsfmm64t 6000{{$}}205 206// RUN: %clang --target=riscv32 \207// RUN: -march=rv32i_zve32x_xsfmmbase -E -dM %s \208// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMMBASE %s209// RUN: %clang --target=riscv64 \210// RUN: -march=rv64i_zve32x_xsfmmbase -E -dM %s \211// RUN: -o - | FileCheck --check-prefix=CHECK-XSFMMBASE %s212// CHECK-XSFMMBASE: __riscv_xsfmmbase 6000{{$}}213