Deutsch   English   Français   Italiano  
<vc2t1i$18pi2$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: BGB <cr88192@gmail.com>
Newsgroups: comp.arch
Subject: Re: Computer architects leaving Intel...
Date: Fri, 13 Sep 2024 21:39:36 -0500
Organization: A noiseless patient Spider
Lines: 71
Message-ID: <vc2t1i$18pi2$1@dont-email.me>
References: <vaqgtl$3526$1@dont-email.me>
 <memo.20240830090549.19028u@jgd.cix.co.uk>
 <2024Aug30.161204@mips.complang.tuwien.ac.at> <86r09ulqyp.fsf@linuxsc.com>
 <2024Sep8.173639@mips.complang.tuwien.ac.at>
 <p1cvdjpqjg65e6e3rtt4ua6hgm79cdfm2n@4ax.com>
 <2024Sep10.101932@mips.complang.tuwien.ac.at> <ygn8qvztf16.fsf@y.z>
 <2024Sep11.123824@mips.complang.tuwien.ac.at> <vbsoro$3ol1a$1@dont-email.me>
 <vbut86$9toi$1@dont-email.me> <vbvljl$ea0m$1@dont-email.me>
 <vc1lqs$u8cm$1@dont-email.me> <vc1n9r$ufpc$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Sat, 14 Sep 2024 04:39:47 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="cc93f9ab63efe860553c151b195d90ed";
	logging-data="1336898"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19q1s15h6u/6+TGHI7Xz3NL+G7L6LDw/gk="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:bvF/3BGKCc0qkjLY13GXF1MgDBI=
In-Reply-To: <vc1n9r$ufpc$1@dont-email.me>
Content-Language: en-US
Bytes: 4063

On 9/13/2024 10:55 AM, Thomas Koenig wrote:
> David Brown <david.brown@hesbynett.no> schrieb:
>>
>> Most of the commonly used parts of C99 have been "safe" to use for 20
>> years.  There were a few bits that MSVC did not implement until
>> relatively recently, but I think even have caught up now.
> 
> What about VLAs?
> 

IIRC, VLAs and _Complex and similar still don't work in MSVC.
Most of the rest does now at least.

>> There are only two serious, general purpose C compilers in mainstream
>> use - gcc and clang, and both support almost all of C23 now.  But it
>> will take a while for the more niche tools, such as some embedded
>> compilers, to catch up.
> 
> It is almost impossible to gather statistics on compiler use,
> especially with free compilers, but what about MSVC and icc?

 From what I gather:
   GCC and Clang are popular for most mainline targets;
     GCC is the dominant C compiler on Linux.
   MSVC is popular on Windows
     Has been essentially freeware/fremium for over a decade;
     Visual Studio has a fairly good debugger;
     Targets limited to things you can run Windows on (x86, X64, ARM).
   TinyCC, popular for niche use, but limited range of targets;
     x86, ARM, experimental RISC-V.
   SDCC, popular for 8/16 bit targets;
   CC65, popular for 6502 and 65C816;
   ...

For my project:
   I am currently using GCC to target RISC-V;
   I am using BGBCC for BJX2 (Baseline and XG2).



As for "mystery bug":
Seems a minor and subtle typo in some of the instruction decoding code 
had broke my emulator pretty hard, in a way that mainly manifested when 
virtual memory was enabled... (Seems what bugs remain in the VL core are 
likely unrelated).


The register mapping rules for XG2RV Mode have been changed:
   R0: ZR / PC
   R1: L1
   R2 / R3: GPRs
   R4..R13, same
   R14: GBR (GP)
   R15: SP

So, XG2RV mode will now be capable of expressing both the BJX2 and 
RISC-V ABIs (with a register remap), and will now be "register 
compatible" with RISC-V mode.

Main difference between the modes will be that GBR/SP and R2/R3 will 
switch around, but this remapping can likely be faked in the assembler 
for the reworked XG2RV mode. This should hopefully also make it "less 
useless".

There was a tweak to the register mapping rules for RV Mode, but it 
serves a few purposes:
Will allow for trying to mimic the Linux layout for the "task_struct";
Will allow the RV side of things to express the BJX2 ABI if needed (by 
having the main ABI relevant registers available).