Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline

long5hot (Kishan Parmar)
Engineering

Projects

User does not belong to any projects.

User Details

User Since
May 4 2023, 7:50 AM (31 w, 3 d)

Recent Activity

Sep 28 2023

long5hot committed rG696ea67f197f: Disable call to fma for soft-float (authored by long5hot).
Disable call to fma for soft-float
Sep 28 2023, 1:38 AM · Restricted Project, Restricted Project
long5hot closed D156344: Disable call to fma for soft-float.
Sep 28 2023, 1:38 AM · Restricted Project, Restricted Project, Restricted Project

Sep 27 2023

long5hot added a comment to D156344: Disable call to fma for soft-float.

landing on this PR, from the conclusion of #55230 and D158632 conversation..
"If the llvm.fmuladd intrinsic reaches the backend, the backend is responsible for deciding how to represent it."

Sep 27 2023, 11:32 PM · Restricted Project, Restricted Project, Restricted Project

Sep 25 2023

long5hot added a comment to D156344: Disable call to fma for soft-float.

ping!

Sep 25 2023, 11:48 AM · Restricted Project, Restricted Project, Restricted Project

Sep 23 2023

long5hot committed rG2641d9b2807d: Propagate the volatile qualifier of exp to store /load operations . (authored by umesh.kalappa0).
Propagate the volatile qualifier of exp to store /load operations .
Sep 23 2023, 7:10 AM · Restricted Project, Restricted Project
long5hot closed D157890: Propagate the volatile qualifier of exp to store /load operations ..
Sep 23 2023, 7:10 AM · Restricted Project, Restricted Project

Sep 7 2023

long5hot added a comment to D158632: [clang/X86] Do not perform FMA bydefault.

ping!

Sep 7 2023, 9:34 AM · Restricted Project, Restricted Project, Restricted Project

Aug 27 2023

long5hot added a reviewer for D158632: [clang/X86] Do not perform FMA bydefault: andrew.w.kaylor.
Aug 27 2023, 3:34 AM · Restricted Project, Restricted Project, Restricted Project
long5hot added a comment to D158632: [clang/X86] Do not perform FMA bydefault.

This is a frontend solution to a backend problem. Fmuladd does not guarantee fusion or not and that’s all you have changed the emission of. Clang should not be considering the target for what it should emit. -fp-contract=on emits fmuladd and -fp-contract=fast emits fmul contract fadd contract.

The backend is responsible for deciding whether it’s profitable to fuse or not, where it’s also refined based on the FP type

Aug 27 2023, 3:31 AM · Restricted Project, Restricted Project, Restricted Project

Aug 25 2023

long5hot added a comment to D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.

ping!

Aug 25 2023, 2:40 AM · Restricted Project, Restricted Project, Restricted Project

Aug 24 2023

long5hot added a comment to D156344: Disable call to fma for soft-float.

@nemanjai , @jhibbits should i land on this commit, because as @shchenz said, similiar to D158632 review we are having plan to do same for PPC.

Aug 24 2023, 1:54 AM · Restricted Project, Restricted Project, Restricted Project
long5hot updated the diff for D158632: [clang/X86] Do not perform FMA bydefault.
Aug 24 2023, 1:36 AM · Restricted Project, Restricted Project, Restricted Project
long5hot updated the diff for D158632: [clang/X86] Do not perform FMA bydefault.

bisecting testcase fexcess-precision.c for default subtarget and AVX512-FP16, because update script update_cc_test_checks.py was removing some checks because of same -check-prefixes..

Aug 24 2023, 1:34 AM · Restricted Project, Restricted Project, Restricted Project

Aug 23 2023

long5hot requested review of D158632: [clang/X86] Do not perform FMA bydefault.
Aug 23 2023, 9:07 AM · Restricted Project, Restricted Project, Restricted Project
long5hot abandoned D154605: [clang/frontend] Do not perform FMA bydefault.
Aug 23 2023, 6:49 AM · Restricted Project, Restricted Project

Aug 14 2023

long5hot added inline comments to D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.
Aug 14 2023, 3:43 AM · Restricted Project, Restricted Project, Restricted Project
long5hot updated the diff for D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.

updating according to ATR-PASS-COMPLEX-IN-GPRS.
Thanks @kernigh!

Aug 14 2023, 3:43 AM · Restricted Project, Restricted Project, Restricted Project
long5hot added a comment to D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.

Thanks, @long5hot. Your diff fixes compatibility with gcc for some functions. These 2 functions are broken,

float complex
scale1(int n, float complex c)
{
	return n * c;
}

double complex
scale2(int n, double complex c)
{
	return n * c;
}

The compilers differ at r4,

  • gcc does scale1(int r3, float complex r5:r6) and scale2(int r3, double complex r4:r5:r6:r7). See https://godbolt.org/z/xjdWaWP3q
  • clang -fcomplex-ppc-gnu-abi does scale1(int r3, float complex r4:r5) and scale2(int r3, double complex r5:r6:r7:r8).

So gcc is weird; the alignment of complex arguments in gprs doesn't match their alignment in memory. A 2x32-bit float complex has 64-bit alignment (skip r4) but a 2x64-bit double complex has 32-bit alignment (don't skip r4). This is an accident, as gcc confuses complex args with integer args: a float complex has the same 64-bit size as a long long, so gcc applies long long's rule (odd:even gpr pair); a double complex has a different size and misses the odd:even rule.

Aug 14 2023, 1:50 AM · Restricted Project, Restricted Project, Restricted Project

Aug 13 2023

long5hot added a comment to D156344: Disable call to fma for soft-float.

compiler-rt builtins library should not just undefining fma for PPC, right (see https://gcc.gnu.org/onlinedocs/gccint/Soft-float-library-routines.html)? If so, maybe we should at least first try not generating fma for soft-float at the first place where fmul + fadd is fused, like tryEmitFMulAdd in clang front end?

Aug 13 2023, 10:54 PM · Restricted Project, Restricted Project, Restricted Project

Aug 10 2023

long5hot updated the diff for D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.

The revision till now was working for release build only.
Wasn't aware of round-trip in assert-build.
Updating accrodingly.

Aug 10 2023, 4:22 AM · Restricted Project, Restricted Project, Restricted Project

Aug 2 2023

long5hot added a comment to D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.

ping!

Aug 2 2023, 6:20 AM · Restricted Project, Restricted Project, Restricted Project

Jul 29 2023

long5hot added inline comments to D156351: clang driver throws error for -mabi=elfv2 or elfv2.
Jul 29 2023, 3:49 AM · Restricted Project, Restricted Project
long5hot committed rG065da3574b4f: clang driver throws error for -mabi=elfv2 or elfv2 (authored by long5hot).
clang driver throws error for -mabi=elfv2 or elfv2
Jul 29 2023, 3:44 AM · Restricted Project, Restricted Project
long5hot closed D156351: clang driver throws error for -mabi=elfv2 or elfv2.
Jul 29 2023, 3:44 AM · Restricted Project, Restricted Project

Jul 27 2023

long5hot updated the diff for D156351: clang driver throws error for -mabi=elfv2 or elfv2.

failure is only when we do not give full target triple.
for e.x. --target=ppc64 -mabi=elfv2
or even when OS option is unknown e.g. --target=powerpc64-unknown-gnu

Jul 27 2023, 3:06 AM · Restricted Project, Restricted Project

Jul 26 2023

long5hot added a comment to D156344: Disable call to fma for soft-float.

Apologies for updating diff too many times, used arcanist first time. Won't happend again!

Jul 26 2023, 10:58 AM · Restricted Project, Restricted Project, Restricted Project
long5hot updated the summary of D156351: clang driver throws error for -mabi=elfv2 or elfv2.
Jul 26 2023, 10:54 AM · Restricted Project, Restricted Project
long5hot added reviewers for D156351: clang driver throws error for -mabi=elfv2 or elfv2: jhibbits, nemanjai, sfertile, Restricted Project.
Jul 26 2023, 10:53 AM · Restricted Project, Restricted Project
long5hot requested review of D156351: clang driver throws error for -mabi=elfv2 or elfv2.
Jul 26 2023, 10:51 AM · Restricted Project, Restricted Project
long5hot updated the diff for D156344: Disable call to fma for soft-float.
Jul 26 2023, 10:48 AM · Restricted Project, Restricted Project, Restricted Project
long5hot updated the diff for D156344: Disable call to fma for soft-float.
Jul 26 2023, 10:46 AM · Restricted Project, Restricted Project, Restricted Project
long5hot updated the diff for D156344: Disable call to fma for soft-float.
Jul 26 2023, 10:40 AM · Restricted Project, Restricted Project, Restricted Project
long5hot updated the summary of D156344: Disable call to fma for soft-float.
Jul 26 2023, 9:40 AM · Restricted Project, Restricted Project, Restricted Project
long5hot requested review of D156344: Disable call to fma for soft-float.
Jul 26 2023, 9:37 AM · Restricted Project, Restricted Project, Restricted Project

Jul 23 2023

long5hot closed D151711: PowerPC/SPE: Grab the emergency slot for the vreg(that was created by the eliminateFramePointer).
Jul 23 2023, 9:37 PM · Restricted Project, Restricted Project, Restricted Project
long5hot committed rG41af6ece6c62: [PowerPC/SPE] powerpcspe load and store instruction has (authored by long5hot).
[PowerPC/SPE] powerpcspe load and store instruction has
Jul 23 2023, 12:58 AM · Restricted Project, Restricted Project

Jul 20 2023

long5hot updated the diff for D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.

addressing @DavidSpickett's comments..

Jul 20 2023, 6:02 AM · Restricted Project, Restricted Project, Restricted Project
long5hot retitled D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments from PowerPC ABI incompatibility with GNU on complex arguments to [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.
Jul 20 2023, 6:01 AM · Restricted Project, Restricted Project, Restricted Project

Jul 18 2023

long5hot added inline comments to D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.
Jul 18 2023, 11:43 PM · Restricted Project, Restricted Project, Restricted Project
long5hot updated the diff for D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.

Extra check regarding ELF.

Jul 18 2023, 11:30 PM · Restricted Project, Restricted Project, Restricted Project
long5hot added a comment to D151711: PowerPC/SPE: Grab the emergency slot for the vreg(that was created by the eliminateFramePointer).

ping!

Jul 18 2023, 5:14 AM · Restricted Project, Restricted Project, Restricted Project

Jul 17 2023

long5hot updated the diff for D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.

changing sequence(order) of arguments in testcase because of failure.

Jul 17 2023, 10:24 PM · Restricted Project, Restricted Project, Restricted Project
long5hot updated the diff for D151711: PowerPC/SPE: Grab the emergency slot for the vreg(that was created by the eliminateFramePointer).

Removin Lambda expression.

Jul 17 2023, 8:49 PM · Restricted Project, Restricted Project, Restricted Project
long5hot updated the diff for D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.

updating testCase

Jul 17 2023, 10:03 AM · Restricted Project, Restricted Project, Restricted Project
long5hot updated the summary of D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.
Jul 17 2023, 9:08 AM · Restricted Project, Restricted Project, Restricted Project
long5hot updated the summary of D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.
Jul 17 2023, 9:07 AM · Restricted Project, Restricted Project, Restricted Project
long5hot updated the diff for D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.

-fcomplex-ppc-gnu-abi switch .

Jul 17 2023, 8:48 AM · Restricted Project, Restricted Project, Restricted Project
long5hot edited reviewers for D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments, added: jhibbits, sfertile; removed: umesh.kalappa0.
Jul 17 2023, 8:29 AM · Restricted Project, Restricted Project, Restricted Project
long5hot commandeered D146942: [clang][PowerPC] Add flag to enable compatibility with GNU for complex arguments.
Jul 17 2023, 8:27 AM · Restricted Project, Restricted Project, Restricted Project

Jul 6 2023

long5hot retitled D154605: [clang/frontend] Do not perform FMA bydefault from Not to perform FMA bydefault to [clang/frontend] Do not perform FMA bydefault.
Jul 6 2023, 7:05 AM · Restricted Project, Restricted Project
long5hot updated the diff for D154605: [clang/frontend] Do not perform FMA bydefault.
Jul 6 2023, 7:03 AM · Restricted Project, Restricted Project
long5hot requested review of D154605: [clang/frontend] Do not perform FMA bydefault.
Jul 6 2023, 6:56 AM · Restricted Project, Restricted Project

Jun 21 2023

long5hot added a comment to D152437: PowerPC/SPE: Add phony registers for high halves of SPE SuperRegs.

Looks good to me, thanks!

@jhibbits Can you please help to commit the changes??

Jun 21 2023, 3:15 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Jun 20 2023

long5hot added a comment to D152437: PowerPC/SPE: Add phony registers for high halves of SPE SuperRegs.

Looks good to me, thanks!

Jun 20 2023, 12:55 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Jun 19 2023

long5hot updated the diff for D152437: PowerPC/SPE: Add phony registers for high halves of SPE SuperRegs.
Jun 19 2023, 6:42 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
long5hot updated the diff for D152437: PowerPC/SPE: Add phony registers for high halves of SPE SuperRegs.
Jun 19 2023, 6:16 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Jun 14 2023

long5hot added a reviewer for D151711: PowerPC/SPE: Grab the emergency slot for the vreg(that was created by the eliminateFramePointer): sfertile.
Jun 14 2023, 6:53 AM · Restricted Project, Restricted Project, Restricted Project

Jun 8 2023

long5hot updated the summary of D152437: PowerPC/SPE: Add phony registers for high halves of SPE SuperRegs.
Jun 8 2023, 5:49 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project
long5hot requested review of D152437: PowerPC/SPE: Add phony registers for high halves of SPE SuperRegs.
Jun 8 2023, 5:48 AM · Restricted Project, Restricted Project, Restricted Project, Restricted Project

Jun 1 2023

long5hot updated the diff for D151711: PowerPC/SPE: Grab the emergency slot for the vreg(that was created by the eliminateFramePointer).

removal of lambda expression from conditional statement, and updated existent test case.

Jun 1 2023, 5:01 AM · Restricted Project, Restricted Project, Restricted Project

May 30 2023

long5hot requested review of D151711: PowerPC/SPE: Grab the emergency slot for the vreg(that was created by the eliminateFramePointer).
May 30 2023, 7:39 AM · Restricted Project, Restricted Project, Restricted Project

May 4 2023

long5hot updated long5hot.
May 4 2023, 7:53 AM