[RISCV][VLOPT] Add vector narrowing integer right shift instructions to isSupportedIn...
[llvm-project.git] / flang / test / Fir / comdat.fir
blob2f5da505e4903f57f6a3f867cceca06621f1a703
2 // RUN: fir-opt %s --fir-to-llvm-ir="target=x86_64-unknown-linux-gnu" | FileCheck %s --check-prefixes="CHECK-COMDAT"
3 // RUN: fir-opt %s --fir-to-llvm-ir="target=x86_64-pc-windows-msvc" | FileCheck %s --check-prefixes="CHECK-COMDAT"
4 // RUN: fir-opt %s --fir-to-llvm-ir="target=aarch64-apple-darwin" | FileCheck %s --check-prefixes="CHECK-NOCOMDAT"
5 // RUN: fir-opt %s --fir-to-llvm-ir="target=powerpc64-ibm-aix" | FileCheck %s --check-prefixes="CHECK-NOCOMDAT"
7 // CHECK-COMDAT: llvm.func linkonce @fun_linkonce(%arg0: i32) -> i32 comdat(@__llvm_comdat::@fun_linkonce)
8 // CHECK-NOCOMDAT: llvm.func linkonce @fun_linkonce(%arg0: i32) -> i32 {
9 func.func @fun_linkonce(%arg0: i32) -> i32 attributes {llvm.linkage = #llvm.linkage<linkonce>} {
10   return %arg0 : i32
13 // CHECK-COMDAT: llvm.func linkonce_odr @fun_linkonce_odr(%arg0: i32) -> i32 comdat(@__llvm_comdat::@fun_linkonce_odr)
14 // CHECK-NOCOMDAT: llvm.func linkonce_odr @fun_linkonce_odr(%arg0: i32) -> i32 {
15 func.func @fun_linkonce_odr(%arg0: i32) -> i32 attributes {llvm.linkage = #llvm.linkage<linkonce_odr>} {
16   return %arg0 : i32
19 // CHECK-COMDAT:  llvm.mlir.global linkonce constant @global_linkonce() comdat(@__llvm_comdat::@global_linkonce) {addr_space = 0 : i32} : i32 
20 // CHECK-NOCOMDAT:  llvm.mlir.global linkonce constant @global_linkonce() {addr_space = 0 : i32} : i32  {
21 fir.global linkonce @global_linkonce constant : i32 {
22   %0 = arith.constant 0 : i32
23   fir.has_value %0 : i32
26 // CHECK-COMDAT: llvm.comdat @__llvm_comdat {
27 // CHECK-COMDAT: llvm.comdat_selector @fun_linkonce_odr any
28 // CHECK-COMDAT: llvm.comdat_selector @fun_linkonce any
29 // CHECK-COMDAT: llvm.comdat_selector @global_linkonce any
30 // CHECK-COMDAT: llvm.comdat_selector @global_linkonce_odr any
32 // CHECK-NOCOMDAT-NOT: llvm.comdat
33 // CHECK-NOCOMDAT-NOT: llvm.comdat_selector
36 // CHECK-COMDAT:  llvm.mlir.global linkonce_odr constant @global_linkonce_odr() comdat(@__llvm_comdat::@global_linkonce_odr) {addr_space = 0 : i32} : i32 
37 // CHECK-NOCOMDAT:  llvm.mlir.global linkonce_odr constant @global_linkonce_odr() {addr_space = 0 : i32} : i32 { 
38 fir.global linkonce_odr @global_linkonce_odr constant : i32 {
39   %0 = arith.constant 0 : i32
40   fir.has_value %0 : i32