Enabling LLVM 5.0 and making fixes to track changes in LLVM for the past
couple months. The changes are tested with LLVM 3.9, 4.0 and trunk on MacOS (sse4, avx2, skx).
This commit is contained in:
@@ -59,6 +59,8 @@ define(`PTR_OP_ARGS',
|
||||
LLVM_VERSION, LLVM_3_9,
|
||||
``$1 , $1 *'',
|
||||
LLVM_VERSION, LLVM_4_0,
|
||||
``$1 , $1 *'',
|
||||
LLVM_VERSION, LLVM_5_0,
|
||||
``$1 , $1 *'',
|
||||
``$1 *''
|
||||
)
|
||||
@@ -73,6 +75,8 @@ define(`MdORi64',
|
||||
``i64'',
|
||||
LLVM_VERSION, LLVM_4_0,
|
||||
``i64'',
|
||||
LLVM_VERSION, LLVM_5_0,
|
||||
``i64'',
|
||||
``double''
|
||||
)
|
||||
)
|
||||
@@ -84,6 +88,8 @@ define(`MfORi32',
|
||||
``i32'',
|
||||
LLVM_VERSION, LLVM_4_0,
|
||||
``i32'',
|
||||
LLVM_VERSION, LLVM_5_0,
|
||||
``i32'',
|
||||
``float''
|
||||
)
|
||||
)
|
||||
@@ -1595,6 +1601,9 @@ define <$1 x $2> @__atomic_compare_exchange_$3_global($2* %ptr, <$1 x $2> %cmp,
|
||||
',LLVM_VERSION,LLVM_4_0,`
|
||||
%r_LANE_ID_t = cmpxchg $2 * %ptr, $2 %cmp_LANE_ID, $2 %val_LANE_ID seq_cst seq_cst
|
||||
%r_LANE_ID = extractvalue { $2, i1 } %r_LANE_ID_t, 0
|
||||
',LLVM_VERSION,LLVM_5_0,`
|
||||
%r_LANE_ID_t = cmpxchg $2 * %ptr, $2 %cmp_LANE_ID, $2 %val_LANE_ID seq_cst seq_cst
|
||||
%r_LANE_ID = extractvalue { $2, i1 } %r_LANE_ID_t, 0
|
||||
',`
|
||||
%r_LANE_ID = cmpxchg $2 * %ptr, $2 %cmp_LANE_ID, $2 %val_LANE_ID seq_cst
|
||||
')
|
||||
@@ -1626,6 +1635,9 @@ define $2 @__atomic_compare_exchange_uniform_$3_global($2* %ptr, $2 %cmp,
|
||||
',LLVM_VERSION,LLVM_4_0,`
|
||||
%r_t = cmpxchg $2 * %ptr, $2 %cmp, $2 %val seq_cst seq_cst
|
||||
%r = extractvalue { $2, i1 } %r_t, 0
|
||||
',LLVM_VERSION,LLVM_5_0,`
|
||||
%r_t = cmpxchg $2 * %ptr, $2 %cmp, $2 %val seq_cst seq_cst
|
||||
%r = extractvalue { $2, i1 } %r_t, 0
|
||||
',`
|
||||
%r = cmpxchg $2 * %ptr, $2 %cmp, $2 %val seq_cst
|
||||
')
|
||||
|
||||
Reference in New Issue
Block a user