]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: check for better yasm and fix isa 5500/head
authorOrit Wasserman <owasserm@redhat.com>
Fri, 24 Jul 2015 15:39:52 +0000 (17:39 +0200)
committerOrit Wasserman <owasserm@redhat.com>
Fri, 7 Aug 2015 20:02:43 +0000 (22:02 +0200)
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
src/CMakeLists.txt
src/erasure-code/CMakeLists.txt
src/erasure-code/isa/CMakeLists.txt

index d1e0fbffe920e845cac0f94e243556c069feff48..d879e3bd3595aca7a7e95d1a7ff095a932a13658 100644 (file)
@@ -17,6 +17,14 @@ message(status " ams compiler ${CMAKE_ASM_COMPILER}")
 set(CMAKE_ASM_FLAGS "-f elf64")
 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -rdynamic -Wall -Wtype-limits -Wignored-qualifiers -Winit-self -Wpointer-arith -Werror=format-security -fno-strict-aliasing -fsigned-char -fPIC")
 
+execute_process(COMMAND yasm -f elf64 -i ${CMAKE_SOURCE_DIR}/src/erasure-code/isa/isa-l/include/ ${CMAKE_SOURCE_DIR}/src/erasure-code/isa/isa-l/erasure_code/gf_vect_dot_prod_avx2.asm.s -o /dev/null
+  RESULT_VARIABLE rc
+  OUTPUT_QUIET)
+if(NOT rc)
+  set(HAVE_BETTER_YASM_ELF64 1)
+endif(NOT rc)
+MESSAGE("HAVE_BETTER_YASM_ELF64=" ${HAVE_BETTER_YASM_ELF64})
+
 set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -ftemplate-depth-1024 -Wno-invalid-offsetof -Wnon-virtual-dtor -Wno-invalid-offsetof -Wstrict-null-sentinel -Woverloaded-virtual")
 
 set(EXTRALIBS uuid rt dl ${Boost_LIBS})
index ba31afdd778bb59bfe6c242b2dc32c1ed4e99ad7..484d8958423f4fa096ec6f4e6894a105bf641b32 100644 (file)
@@ -5,9 +5,9 @@ set(erasure_codelibdir ${LIBRARY_OUTPUT_PATH}/erasure-code)
 add_subdirectory(jerasure)
 add_subdirectory(lrc)
 
-if (WITH_BETTER_YASM_ELF64) # TODO: check for yasm support
+if (HAVE_BETTER_YASM_ELF64)
   add_subdirectory(isa)
-endif (WITH_BETTER_YASM_ELF64)
+endif (HAVE_BETTER_YASM_ELF64)
 
 add_library(erasure_code ErasureCodePlugin.cc)
 target_link_libraries(erasure_code dl)
index f6eae7d669de92bd63c760a609587dbfa2b85839..48605c1d431b4d8a6bc9f99d2d50e44b949668b8 100644 (file)
@@ -24,9 +24,28 @@ set(isa_srcs
   isa-l/erasure_code/gf_vect_dot_prod_avx2.asm.s
   isa-l/erasure_code/gf_vect_dot_prod_avx.asm.s
   isa-l/erasure_code/gf_vect_dot_prod_sse.asm.s
+  isa-l/erasure_code/gf_2vect_mad_avx2.asm.s
+  isa-l/erasure_code/gf_2vect_mad_avx.asm.s
+  isa-l/erasure_code/gf_2vect_mad_sse.asm.s
+  isa-l/erasure_code/gf_3vect_mad_avx2.asm.s
+  isa-l/erasure_code/gf_3vect_mad_avx.asm.s
+  isa-l/erasure_code/gf_3vect_mad_sse.asm.s
+  isa-l/erasure_code/gf_4vect_mad_avx2.asm.s
+  isa-l/erasure_code/gf_4vect_mad_avx.asm.s
+  isa-l/erasure_code/gf_4vect_mad_sse.asm.s
+  isa-l/erasure_code/gf_5vect_mad_avx2.asm.s
+  isa-l/erasure_code/gf_5vect_mad_avx.asm.s
+  isa-l/erasure_code/gf_5vect_mad_sse.asm.s
+  isa-l/erasure_code/gf_6vect_mad_avx2.asm.s
+  isa-l/erasure_code/gf_6vect_mad_avx.asm.s
+  isa-l/erasure_code/gf_6vect_mad_sse.asm.s
+  isa-l/erasure_code/gf_vect_mad_avx2.asm.s
+  isa-l/erasure_code/gf_vect_mad_avx.asm.s
+  isa-l/erasure_code/gf_vect_mad_sse.asm.s
   isa-l/erasure_code/gf_vect_mul_avx.asm.s
   isa-l/erasure_code/gf_vect_mul_sse.asm.s
   ErasureCodeIsa.cc
+  ErasureCodeIsaTableCache.cc
   ErasureCodePluginIsa.cc
   xor_op.cc
   $<TARGET_OBJECTS:erasure_code_objs>