some fixes for trunk 3.8
This commit is contained in:
@@ -147,6 +147,8 @@
|
||||
|
||||
define(`PTR_OP_ARGS',
|
||||
ifelse(LLVM_VERSION, LLVM_3_7,
|
||||
``$1 , $1 *'',
|
||||
LLVM_VERSION, LLVM_3_8,
|
||||
``$1 , $1 *'',
|
||||
``$1 *''
|
||||
)
|
||||
|
||||
@@ -53,6 +53,8 @@ define(`MASK_HIGH_BIT_ON',
|
||||
|
||||
define(`PTR_OP_ARGS',
|
||||
ifelse(LLVM_VERSION, LLVM_3_7,
|
||||
``$1 , $1 *'',
|
||||
LLVM_VERSION, LLVM_3_8,
|
||||
``$1 , $1 *'',
|
||||
``$1 *''
|
||||
)
|
||||
@@ -1545,7 +1547,7 @@ define <$1 x $2> @__atomic_compare_exchange_$3_global($2* %ptr, <$1 x $2> %cmp,
|
||||
%cmp_LANE_ID = extractelement <$1 x $2> %cmp, i32 LANE
|
||||
%val_LANE_ID = extractelement <$1 x $2> %val, i32 LANE
|
||||
|
||||
;; 3.5, 3.6 and 3.7 code is the same since m4 has no OR and AND operators
|
||||
;; 3.5, 3.6, 3.7 and 3.8 code is the same since m4 has no OR and AND operators
|
||||
ifelse(LLVM_VERSION,LLVM_3_5,`
|
||||
%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
|
||||
@@ -1555,6 +1557,9 @@ define <$1 x $2> @__atomic_compare_exchange_$3_global($2* %ptr, <$1 x $2> %cmp,
|
||||
',LLVM_VERSION,LLVM_3_7,`
|
||||
%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_3_8,`
|
||||
%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
|
||||
')
|
||||
@@ -1567,7 +1572,7 @@ define <$1 x $2> @__atomic_compare_exchange_$3_global($2* %ptr, <$1 x $2> %cmp,
|
||||
|
||||
define $2 @__atomic_compare_exchange_uniform_$3_global($2* %ptr, $2 %cmp,
|
||||
$2 %val) nounwind alwaysinline {
|
||||
;; 3.5, 3.6 and 3.7 code is the same since m4 has no OR and AND operators
|
||||
;; 3.5, 3.6, 3.7 and 3.8 code is the same since m4 has no OR and AND operators
|
||||
ifelse(LLVM_VERSION,LLVM_3_5,`
|
||||
%r_t = cmpxchg $2 * %ptr, $2 %cmp, $2 %val seq_cst seq_cst
|
||||
%r = extractvalue { $2, i1 } %r_t, 0
|
||||
@@ -1577,6 +1582,9 @@ define $2 @__atomic_compare_exchange_uniform_$3_global($2* %ptr, $2 %cmp,
|
||||
',LLVM_VERSION,LLVM_3_7,`
|
||||
%r_t = cmpxchg $2 * %ptr, $2 %cmp, $2 %val seq_cst seq_cst
|
||||
%r = extractvalue { $2, i1 } %r_t, 0
|
||||
',LLVM_VERSION,LLVM_3_8,`
|
||||
%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