Skip to content

Commit 8e50cab

Browse files
committed
[clang] sqrt formatting
Signed-off-by: Shreeyash Pandey <[email protected]>
1 parent 69a4e22 commit 8e50cab

File tree

8 files changed

+91
-92
lines changed

8 files changed

+91
-92
lines changed

clang/include/clang/Basic/BuiltinsX86.td

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,8 @@ let Features = "sse", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in
203203
def shufps : X86Builtin<"_Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Constant int)">;
204204
}
205205

206-
let Features = "sse", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128>] in {
206+
let Features = "sse",
207+
Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128>] in {
207208
def sqrtps : X86Builtin<"_Vector<4, float>(_Vector<4, float>)">;
208209
}
209210

@@ -224,7 +225,9 @@ let Features = "sse2", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] i
224225
def pshufd : X86Builtin<"_Vector<4, int>(_Vector<4, int>, _Constant int)">;
225226
def pshuflw : X86Builtin<"_Vector<8, short>(_Vector<8, short>, _Constant int)">;
226227
def pshufhw : X86Builtin<"_Vector<8, short>(_Vector<8, short>, _Constant int)">;
227-
def psadbw128 : X86Builtin<"_Vector<2, long long int>(_Vector<16, char>, _Vector<16, char>)">;
228+
def psadbw128
229+
: X86Builtin<
230+
"_Vector<2, long long int>(_Vector<16, char>, _Vector<16, char>)">;
228231
def sqrtsd : X86Builtin<"_Vector<2, double>(_Vector<2, double>)">;
229232
def shufpd : X86Builtin<"_Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Constant int)">;
230233
def cvtpd2dq : X86Builtin<"_Vector<2, long long int>(_Vector<2, double>)">;
@@ -510,7 +513,8 @@ let Features = "avx", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWid
510513

511514
let Features = "avx", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in {
512515
def vpermilpd256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Constant int)">;
513-
def vpermilps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Constant int)">;
516+
def vpermilps256
517+
: X86Builtin<"_Vector<8, float>(_Vector<8, float>, _Constant int)">;
514518
def rsqrtps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>)">;
515519
def rcpps256 : X86Builtin<"_Vector<8, float>(_Vector<8, float>)">;
516520
def roundpd256 : X86Builtin<"_Vector<4, double>(_Vector<4, double>, _Constant int)">;
@@ -950,7 +954,8 @@ let Features = "pku", Attributes = [NoThrow] in {
950954
def wrpkru : X86Builtin<"void(unsigned int)">;
951955
}
952956

953-
let Features = "avx512f", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512>] in {
957+
let Features = "avx512f",
958+
Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512>] in {
954959
def sqrtpd512 : X86Builtin<"_Vector<8, double>(_Vector<8, double>, _Constant int)">;
955960
def sqrtps512 : X86Builtin<"_Vector<16, float>(_Vector<16, float>, _Constant int)">;
956961
}

clang/lib/AST/ByteCode/InterpBuiltin.cpp

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2996,7 +2996,8 @@ static bool interp__builtin_x86_insert_subvector(InterpState &S, CodePtr OpPC,
29962996
return true;
29972997
}
29982998

2999-
static llvm::APFloat apply_x86_sqrt(llvm::APFloat Val, const llvm::fltSemantics &Semantics) {
2999+
static llvm::APFloat apply_x86_sqrt(llvm::APFloat Val,
3000+
const llvm::fltSemantics &Semantics) {
30003001
if (Val.isNegative() && !Val.isZero()) {
30013002
return llvm::APFloat::getQNaN(Semantics);
30023003
} else {
@@ -3006,34 +3007,37 @@ static llvm::APFloat apply_x86_sqrt(llvm::APFloat Val, const llvm::fltSemantics
30063007
llvm::APFloat TempValue(SqrtValue);
30073008

30083009
bool LosesInfo;
3009-
TempValue.convert(Semantics, llvm::APFloat::rmNearestTiesToEven, &LosesInfo);
3010+
TempValue.convert(Semantics, llvm::APFloat::rmNearestTiesToEven,
3011+
&LosesInfo);
30103012
return TempValue;
30113013
}
30123014
}
30133015

30143016
static bool interp__builtin_x86_sqrt(InterpState &S, CodePtr OpPC,
3015-
const CallExpr *Call,
3016-
unsigned ID) {
3017+
const CallExpr *Call, unsigned ID) {
30173018
llvm::errs() << "Entering x86 sqrtpd/ps interpretbuiltin\n";
3018-
3019-
llvm::errs() << "BI__builtin_ia32_sqrtpd512 " << X86::BI__builtin_ia32_sqrtpd512 << '\n';
3020-
llvm::errs() << "BI__builtin_ia32_sqrtps512 " << X86::BI__builtin_ia32_sqrtps512 << '\n';
3019+
3020+
llvm::errs() << "BI__builtin_ia32_sqrtpd512 "
3021+
<< X86::BI__builtin_ia32_sqrtpd512 << '\n';
3022+
llvm::errs() << "BI__builtin_ia32_sqrtps512 "
3023+
<< X86::BI__builtin_ia32_sqrtps512 << '\n';
30213024
llvm::errs() << "Current ID " << ID << '\n';
30223025
llvm::errs() << "GetNumArgs " << Call->getNumArgs() << '\n';
30233026
unsigned NumArgs = Call->getNumArgs();
30243027
assert(NumArgs == 1 || NumArgs == 2);
30253028
const Expr *ArgExpr = Call->getArg(0);
30263029
QualType ArgTy = ArgExpr->getType();
30273030
QualType ResultTy = Call->getType();
3028-
3031+
30293032
if (!(ArgTy->isRealFloatingType() ||
30303033
(ArgTy->isVectorType() &&
30313034
ArgTy->castAs<VectorType>()->getElementType()->isRealFloatingType())))
30323035
return false;
30333036

30343037
const llvm::fltSemantics *SemanticsPtr;
30353038
if (ArgTy->isVectorType())
3036-
SemanticsPtr = &S.getContext().getFloatSemantics(ArgTy->castAs<VectorType>()->getElementType());
3039+
SemanticsPtr = &S.getContext().getFloatSemantics(
3040+
ArgTy->castAs<VectorType>()->getElementType());
30373041
else
30383042
SemanticsPtr = &S.getContext().getFloatSemantics(ArgTy);
30393043
const llvm::fltSemantics &Semantics = *SemanticsPtr;
@@ -3048,7 +3052,6 @@ static bool interp__builtin_x86_sqrt(InterpState &S, CodePtr OpPC,
30483052
}
30493053
}
30503054

3051-
30523055
// Scalar case
30533056
if (!ArgTy->isVectorType()) {
30543057
llvm::APFloat Val = S.Stk.pop<Floating>().getAPFloat();
@@ -3061,13 +3064,14 @@ static bool interp__builtin_x86_sqrt(InterpState &S, CodePtr OpPC,
30613064
assert(ArgTy->isVectorType());
30623065
llvm::errs() << "Considering this as a vector\n";
30633066
const auto *VT = ArgTy->castAs<VectorType>();
3064-
3067+
30653068
const Pointer &Arg = S.Stk.pop<Pointer>();
30663069
const Pointer &Dst = S.Stk.peek<Pointer>();
30673070

30683071
assert(Arg.getFieldDesc()->isPrimitiveArray());
30693072
assert(Dst.getFieldDesc()->isPrimitiveArray());
3070-
assert(Arg.getFieldDesc()->getNumElems() == Dst.getFieldDesc()->getNumElems());
3073+
assert(Arg.getFieldDesc()->getNumElems() ==
3074+
Dst.getFieldDesc()->getNumElems());
30713075

30723076
PrimType ElemT = *S.getContext().classify(VT->getElementType());
30733077
unsigned NumElems = VT->getNumElements();

clang/lib/AST/ExprConstant.cpp

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,11 @@
6464
#include "llvm/Support/SipHash.h"
6565
#include "llvm/Support/TimeProfiler.h"
6666
#include "llvm/Support/raw_ostream.h"
67+
#include <cmath>
6768
#include <cstring>
6869
#include <functional>
6970
#include <limits>
7071
#include <optional>
71-
#include <cmath>
7272

7373
#define DEBUG_TYPE "exprconstant"
7474

@@ -12236,10 +12236,10 @@ bool VectorExprEvaluator::VisitCallExpr(const CallExpr *E) {
1223612236

1223712237
return Success(APValue(ResultElements.data(), ResultElements.size()), E);
1223812238
}
12239-
case X86::BI__builtin_ia32_sqrtpd:
12240-
case X86::BI__builtin_ia32_sqrtps:
12239+
case X86::BI__builtin_ia32_sqrtpd:
12240+
case X86::BI__builtin_ia32_sqrtps:
1224112241
case X86::BI__builtin_ia32_sqrtpd256:
12242-
case X86::BI__builtin_ia32_sqrtps256:
12242+
case X86::BI__builtin_ia32_sqrtps256:
1224312243
case X86::BI__builtin_ia32_sqrtps512:
1224412244
case X86::BI__builtin_ia32_sqrtpd512: {
1224512245
llvm::errs() << "We are inside sqrtpd/sqrtps\n";
@@ -12248,7 +12248,8 @@ bool VectorExprEvaluator::VisitCallExpr(const CallExpr *E) {
1224812248
return false;
1224912249

1225012250
QualType DestEltTy = E->getType()->castAs<VectorType>()->getElementType();
12251-
const llvm::fltSemantics &Semantics = Info.Ctx.getFloatTypeSemantics(DestEltTy); // Retrieve correct semantics
12251+
const llvm::fltSemantics &Semantics =
12252+
Info.Ctx.getFloatTypeSemantics(DestEltTy); // Retrieve correct semantics
1225212253
unsigned SourceLen = Source.getVectorLength();
1225312254
SmallVector<APValue, 4> ResultElements;
1225412255
ResultElements.reserve(SourceLen);
@@ -12263,20 +12264,23 @@ bool VectorExprEvaluator::VisitCallExpr(const CallExpr *E) {
1226312264
if (Value.isNegative() && !Value.isZero()) {
1226412265
Value = llvm::APFloat::getQNaN(Value.getSemantics());
1226512266
} else {
12266-
double DoubleValue = Value.convertToDouble();
12267-
double SqrtValue = sqrt(DoubleValue);
12268-
llvm::APFloat TempValue(SqrtValue);
12269-
bool LosesInfo;
12270-
auto RetStatus = TempValue.convert(Semantics, llvm::RoundingMode::NearestTiesToEven, &LosesInfo);
12271-
Value = TempValue;
12272-
//llvm::errs() << "Pushing " << SqrtValue << ' ' << Value2 << " to resultelements\n";
12267+
double DoubleValue = Value.convertToDouble();
12268+
double SqrtValue = sqrt(DoubleValue);
12269+
llvm::APFloat TempValue(SqrtValue);
12270+
bool LosesInfo;
12271+
auto RetStatus = TempValue.convert(
12272+
Semantics, llvm::RoundingMode::NearestTiesToEven, &LosesInfo);
12273+
Value = TempValue;
12274+
// llvm::errs() << "Pushing " << SqrtValue << ' ' << Value2 << " to
12275+
// resultelements\n";
1227312276
}
1227412277
ResultElements.push_back(APValue(Value));
1227512278
} else {
1227612279
return false;
1227712280
}
1227812281
}
12279-
llvm::errs() << "Outside the loop, about to exit " << "res size " << ResultElements.size() << "\n";
12282+
llvm::errs() << "Outside the loop, about to exit " << "res size "
12283+
<< ResultElements.size() << "\n";
1228012284
return Success(APValue(ResultElements.data(), ResultElements.size()), E);
1228112285
}
1228212286
}

clang/lib/Headers/avx512fintrin.h

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1458,9 +1458,8 @@ _mm512_mask_mullox_epi64(__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
14581458
(__v8df)_mm512_sqrt_round_pd((A), (R)), \
14591459
(__v8df)_mm512_setzero_pd()))
14601460

1461-
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
1462-
_mm512_sqrt_pd(__m512d __A)
1463-
{
1461+
static __inline__ __m512d __DEFAULT_FN_ATTRS512_CONSTEXPR
1462+
_mm512_sqrt_pd(__m512d __A) {
14641463
return (__m512d)__builtin_ia32_sqrtpd512((__v8df)__A,
14651464
_MM_FROUND_CUR_DIRECTION);
14661465
}
@@ -1494,9 +1493,8 @@ _mm512_maskz_sqrt_pd (__mmask8 __U, __m512d __A)
14941493
(__v16sf)_mm512_sqrt_round_ps((A), (R)), \
14951494
(__v16sf)_mm512_setzero_ps()))
14961495

1497-
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1498-
_mm512_sqrt_ps(__m512 __A)
1499-
{
1496+
static __inline__ __m512 __DEFAULT_FN_ATTRS512_CONSTEXPR
1497+
_mm512_sqrt_ps(__m512 __A) {
15001498
return (__m512)__builtin_ia32_sqrtps512((__v16sf)__A,
15011499
_MM_FROUND_CUR_DIRECTION);
15021500
}

clang/lib/Headers/avx512vlintrin.h

Lines changed: 40 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -3444,61 +3444,53 @@ _mm256_maskz_scalef_ps (__mmask8 __U, __m256 __A, __m256 __B) {
34443444
(__v8si)(__m256i)(index), \
34453445
(__v8si)(__m256i)(v1), (int)(scale))
34463446

3447-
static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
3448-
_mm_mask_sqrt_pd(__m128d __W, __mmask8 __U, __m128d __A) {
3449-
return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
3450-
(__v2df)_mm_sqrt_pd(__A),
3451-
(__v2df)__W);
3452-
}
3447+
static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
3448+
_mm_mask_sqrt_pd(__m128d __W, __mmask8 __U, __m128d __A) {
3449+
return (__m128d)__builtin_ia32_selectpd_128(
3450+
(__mmask8)__U, (__v2df)_mm_sqrt_pd(__A), (__v2df)__W);
3451+
}
34533452

3454-
static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
3455-
_mm_maskz_sqrt_pd(__mmask8 __U, __m128d __A) {
3456-
return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
3457-
(__v2df)_mm_sqrt_pd(__A),
3458-
(__v2df)_mm_setzero_pd());
3459-
}
3453+
static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
3454+
_mm_maskz_sqrt_pd(__mmask8 __U, __m128d __A) {
3455+
return (__m128d)__builtin_ia32_selectpd_128(
3456+
(__mmask8)__U, (__v2df)_mm_sqrt_pd(__A), (__v2df)_mm_setzero_pd());
3457+
}
34603458

3461-
static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
3462-
_mm256_mask_sqrt_pd(__m256d __W, __mmask8 __U, __m256d __A) {
3463-
return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
3464-
(__v4df)_mm256_sqrt_pd(__A),
3465-
(__v4df)__W);
3466-
}
3459+
static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
3460+
_mm256_mask_sqrt_pd(__m256d __W, __mmask8 __U, __m256d __A) {
3461+
return (__m256d)__builtin_ia32_selectpd_256(
3462+
(__mmask8)__U, (__v4df)_mm256_sqrt_pd(__A), (__v4df)__W);
3463+
}
34673464

3468-
static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
3469-
_mm256_maskz_sqrt_pd(__mmask8 __U, __m256d __A) {
3470-
return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
3471-
(__v4df)_mm256_sqrt_pd(__A),
3472-
(__v4df)_mm256_setzero_pd());
3473-
}
3465+
static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
3466+
_mm256_maskz_sqrt_pd(__mmask8 __U, __m256d __A) {
3467+
return (__m256d)__builtin_ia32_selectpd_256(
3468+
(__mmask8)__U, (__v4df)_mm256_sqrt_pd(__A), (__v4df)_mm256_setzero_pd());
3469+
}
34743470

3475-
static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
3476-
_mm_mask_sqrt_ps(__m128 __W, __mmask8 __U, __m128 __A) {
3477-
return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
3478-
(__v4sf)_mm_sqrt_ps(__A),
3479-
(__v4sf)__W);
3480-
}
3471+
static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
3472+
_mm_mask_sqrt_ps(__m128 __W, __mmask8 __U, __m128 __A) {
3473+
return (__m128)__builtin_ia32_selectps_128(
3474+
(__mmask8)__U, (__v4sf)_mm_sqrt_ps(__A), (__v4sf)__W);
3475+
}
34813476

3482-
static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
3483-
_mm_maskz_sqrt_ps(__mmask8 __U, __m128 __A) {
3484-
return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
3485-
(__v4sf)_mm_sqrt_ps(__A),
3486-
(__v4sf)_mm_setzero_ps());
3487-
}
3477+
static __inline__ __m128 __DEFAULT_FN_ATTRS128_CONSTEXPR
3478+
_mm_maskz_sqrt_ps(__mmask8 __U, __m128 __A) {
3479+
return (__m128)__builtin_ia32_selectps_128(
3480+
(__mmask8)__U, (__v4sf)_mm_sqrt_ps(__A), (__v4sf)_mm_setzero_ps());
3481+
}
34883482

3489-
static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
3490-
_mm256_mask_sqrt_ps(__m256 __W, __mmask8 __U, __m256 __A) {
3491-
return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
3492-
(__v8sf)_mm256_sqrt_ps(__A),
3493-
(__v8sf)__W);
3494-
}
3483+
static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
3484+
_mm256_mask_sqrt_ps(__m256 __W, __mmask8 __U, __m256 __A) {
3485+
return (__m256)__builtin_ia32_selectps_256(
3486+
(__mmask8)__U, (__v8sf)_mm256_sqrt_ps(__A), (__v8sf)__W);
3487+
}
34953488

3496-
static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
3497-
_mm256_maskz_sqrt_ps(__mmask8 __U, __m256 __A) {
3498-
return (__m256)__builtin_ia32_selectps_256((__mmask8)__U,
3499-
(__v8sf)_mm256_sqrt_ps(__A),
3500-
(__v8sf)_mm256_setzero_ps());
3501-
}
3489+
static __inline__ __m256 __DEFAULT_FN_ATTRS256_CONSTEXPR
3490+
_mm256_maskz_sqrt_ps(__mmask8 __U, __m256 __A) {
3491+
return (__m256)__builtin_ia32_selectps_256(
3492+
(__mmask8)__U, (__v8sf)_mm256_sqrt_ps(__A), (__v8sf)_mm256_setzero_ps());
3493+
}
35023494

35033495
static __inline__ __m128d __DEFAULT_FN_ATTRS128
35043496
_mm_mask_sub_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) {

clang/lib/Headers/avxintrin.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -336,8 +336,7 @@ static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_mul_ps(__m256 __a,
336336
/// \returns A 256-bit vector of [4 x double] containing the square roots of the
337337
/// values in the operand.
338338
static __inline __m256d __DEFAULT_FN_ATTRS_CONSTEXPR
339-
_mm256_sqrt_pd(__m256d __a)
340-
{
339+
_mm256_sqrt_pd(__m256d __a) {
341340
return (__m256d)__builtin_ia32_sqrtpd256((__v4df)__a);
342341
}
343342

@@ -352,9 +351,7 @@ _mm256_sqrt_pd(__m256d __a)
352351
/// A 256-bit vector of [8 x float].
353352
/// \returns A 256-bit vector of [8 x float] containing the square roots of the
354353
/// values in the operand.
355-
static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR
356-
_mm256_sqrt_ps(__m256 __a)
357-
{
354+
static __inline __m256 __DEFAULT_FN_ATTRS_CONSTEXPR _mm256_sqrt_ps(__m256 __a) {
358355
return (__m256)__builtin_ia32_sqrtps256((__v8sf)__a);
359356
}
360357

clang/lib/Headers/emmintrin.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,8 @@ static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_sqrt_sd(__m128d __a,
256256
/// A 128-bit vector of [2 x double].
257257
/// \returns A 128-bit vector of [2 x double] containing the square roots of the
258258
/// values in the operand.
259-
static __inline__ __m128d __DEFAULT_FN_ATTRS_CONSTEXPR _mm_sqrt_pd(__m128d __a) {
259+
static __inline__ __m128d __DEFAULT_FN_ATTRS_CONSTEXPR
260+
_mm_sqrt_pd(__m128d __a) {
260261
return __builtin_ia32_sqrtpd((__v2df)__a);
261262
}
262263

clang/lib/Headers/xmmintrin.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -248,9 +248,7 @@ _mm_sqrt_ss(__m128 __a)
248248
/// A 128-bit vector of [4 x float].
249249
/// \returns A 128-bit vector of [4 x float] containing the square roots of the
250250
/// values in the operand.
251-
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR
252-
_mm_sqrt_ps(__m128 __a)
253-
{
251+
static __inline__ __m128 __DEFAULT_FN_ATTRS_CONSTEXPR _mm_sqrt_ps(__m128 __a) {
254252
return __builtin_ia32_sqrtps((__v4sf)__a);
255253
}
256254

0 commit comments

Comments
 (0)