@@ -789,12 +789,55 @@ define double @load_double_seq_cst(ptr %fptr) {
789
789
}
790
790
791
791
define void @store_bfloat (ptr %fptr , bfloat %v ) {
792
- ; X86-LABEL: store_bfloat:
793
- ; X86: # %bb.0:
794
- ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
795
- ; X86-NEXT: movzwl {{[0-9]+}}(%esp), %ecx
796
- ; X86-NEXT: movw %cx, (%eax)
797
- ; X86-NEXT: retl
792
+ ; X86-SSE1-LABEL: store_bfloat:
793
+ ; X86-SSE1: # %bb.0:
794
+ ; X86-SSE1-NEXT: pushl %esi
795
+ ; X86-SSE1-NEXT: .cfi_def_cfa_offset 8
796
+ ; X86-SSE1-NEXT: subl $8, %esp
797
+ ; X86-SSE1-NEXT: .cfi_def_cfa_offset 16
798
+ ; X86-SSE1-NEXT: .cfi_offset %esi, -8
799
+ ; X86-SSE1-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
800
+ ; X86-SSE1-NEXT: movss %xmm0, (%esp)
801
+ ; X86-SSE1-NEXT: movl {{[0-9]+}}(%esp), %esi
802
+ ; X86-SSE1-NEXT: calll __truncsfbf2
803
+ ; X86-SSE1-NEXT: movw %ax, (%esi)
804
+ ; X86-SSE1-NEXT: addl $8, %esp
805
+ ; X86-SSE1-NEXT: .cfi_def_cfa_offset 8
806
+ ; X86-SSE1-NEXT: popl %esi
807
+ ; X86-SSE1-NEXT: .cfi_def_cfa_offset 4
808
+ ; X86-SSE1-NEXT: retl
809
+ ;
810
+ ; X86-SSE2-LABEL: store_bfloat:
811
+ ; X86-SSE2: # %bb.0:
812
+ ; X86-SSE2-NEXT: movl {{[0-9]+}}(%esp), %eax
813
+ ; X86-SSE2-NEXT: movzwl {{[0-9]+}}(%esp), %ecx
814
+ ; X86-SSE2-NEXT: movw %cx, (%eax)
815
+ ; X86-SSE2-NEXT: retl
816
+ ;
817
+ ; X86-AVX-LABEL: store_bfloat:
818
+ ; X86-AVX: # %bb.0:
819
+ ; X86-AVX-NEXT: movl {{[0-9]+}}(%esp), %eax
820
+ ; X86-AVX-NEXT: movzwl {{[0-9]+}}(%esp), %ecx
821
+ ; X86-AVX-NEXT: movw %cx, (%eax)
822
+ ; X86-AVX-NEXT: retl
823
+ ;
824
+ ; X86-NOSSE-LABEL: store_bfloat:
825
+ ; X86-NOSSE: # %bb.0:
826
+ ; X86-NOSSE-NEXT: pushl %esi
827
+ ; X86-NOSSE-NEXT: .cfi_def_cfa_offset 8
828
+ ; X86-NOSSE-NEXT: subl $8, %esp
829
+ ; X86-NOSSE-NEXT: .cfi_def_cfa_offset 16
830
+ ; X86-NOSSE-NEXT: .cfi_offset %esi, -8
831
+ ; X86-NOSSE-NEXT: flds {{[0-9]+}}(%esp)
832
+ ; X86-NOSSE-NEXT: fstps (%esp)
833
+ ; X86-NOSSE-NEXT: movl {{[0-9]+}}(%esp), %esi
834
+ ; X86-NOSSE-NEXT: calll __truncsfbf2
835
+ ; X86-NOSSE-NEXT: movw %ax, (%esi)
836
+ ; X86-NOSSE-NEXT: addl $8, %esp
837
+ ; X86-NOSSE-NEXT: .cfi_def_cfa_offset 8
838
+ ; X86-NOSSE-NEXT: popl %esi
839
+ ; X86-NOSSE-NEXT: .cfi_def_cfa_offset 4
840
+ ; X86-NOSSE-NEXT: retl
798
841
;
799
842
; X64-SSE-LABEL: store_bfloat:
800
843
; X64-SSE: # %bb.0:
0 commit comments