@@ -753,6 +753,17 @@ func.func @load_non_temporal(%arg0 : memref<32xf32, affine_map<(d0) -> (d0)>>) {
753753
754754// -----
755755
756+ // CHECK-LABEL: func @load_with_alignment(
757+ // CHECK-INTERFACE-LABEL: func @load_with_alignment(
758+ func.func @load_with_alignment (%arg0 : memref <32 xf32 >, %arg1 : index ) {
759+ // CHECK: llvm.load %{{.*}} {alignment = 32 : i64} : !llvm.ptr -> f32
760+ // CHECK-INTERFACE: llvm.load
761+ %1 = memref.load %arg0 [%arg1 ] {alignment = 32 } : memref <32 xf32 >
762+ func.return
763+ }
764+
765+ // -----
766+
756767// CHECK-LABEL: func @store_non_temporal(
757768// CHECK-INTERFACE-LABEL: func @store_non_temporal(
758769func.func @store_non_temporal (%input : memref <32 xf32 , affine_map <(d0 ) -> (d0 )>>, %output : memref <32 xf32 , affine_map <(d0 ) -> (d0 )>>) {
@@ -766,6 +777,17 @@ func.func @store_non_temporal(%input : memref<32xf32, affine_map<(d0) -> (d0)>>,
766777
767778// -----
768779
780+ // CHECK-LABEL: func @store_with_alignment(
781+ // CHECK-INTERFACE-LABEL: func @store_with_alignment(
782+ func.func @store_with_alignment (%arg0 : memref <32 xf32 >, %arg1 : f32 , %arg2 : index ) {
783+ // CHECK: llvm.store %{{.*}}, %{{.*}} {alignment = 32 : i64} : f32, !llvm.ptr
784+ // CHECK-INTERFACE: llvm.store
785+ memref.store %arg1 , %arg0 [%arg2 ] {alignment = 32 } : memref <32 xf32 >
786+ func.return
787+ }
788+
789+ // -----
790+
769791// Ensure unconvertable memory space not cause a crash
770792
771793// CHECK-LABEL: @alloca_unconvertable_memory_space
0 commit comments