2024ǯ07��12��

���ä�����ʤ�ư���Ƥ��������ɤ� LLVM 18 ����ư���ʤ��ʤäƤ��ޤä����Ȥ򤭤ä����˻Ϥޤä�Ĵ���Ǥ������������դ��Ф��ä�����ʬ�̤ˤʤ�ޤ�����

SoftFloat��̤���ư��Х���1��signed��unsigned�������ͤ����ݤ�INT_MIN
SoftFloat��̤���ư��Х���2��RISC-V��RV64I�Ǥ�unsigned��32bit¨�ͤǤ�64bit�쥸�����ξ��32bit��0�Ȥϸ¤�ʤ�
RV64I��unsigned��32bit�ͤ�����ĥ����ʤ��Ǵؿ��˥쥸�����Ϥ������ΤϤɤ�����������
SoftFloat��̤���ư��Х���3�ˤ��⤽��ñ������ư���������黻�򥽥եȥ��������ߥ�졼����󤹤�ؿ��β�������float�ˤ���٤�

�����ơ�����ѥ���κ�Ŭ���ΥХ��ǤϤʤ��������ɤˤ�Ȥ�Ȥ��ä����꤬���߲������Ȥ��������ˤʤ�ޤ������ܺ٤Ͼ嵭��󥯤򻲾Ȥ��Ƥ���������

����Ĵ���β����� LLVM 18 �ζð�Ū�ʺ�Ŭ�����ܤ�������ˤ��ޤ������ʲ��Τ褦�� float �� uint32_t �Ȥ��ư��������ӥåȤ���Ӥ��륳���ɤ���
    aSign = a >> 31;
    bSign = b >> 31;
    if ( aSign != bSign ) { ... }
RV64I �������åȤǤ� uint32_t �Ǥ��äƤ��� 64 bit ������ĥ�����Ȥ��� RISC-V �θƤӽФ���������Ѥ�����64 bit �Ρ�xor ���ä����ӥåȡ�bit 31 �ǤϤʤ� bit 63�ˤ� 1���Ĥޤ���ο��ʤ�����ӥåȤ��ۤʤ�ΤǼ��˥����ס�Branch Less Than Zero; bltz�ˤȤ��������ɤ���������ޤ�����
  xor         a2, a1, a0
  bltz        a2, 0x1c
LLVM 17 �ޤǤϡ��ʲ��Τ褦�˲��� 32 bit �� 31 bit ���������եȡ�Shift Right Logical Immediate Word; srliw�ˤ�����ӡ�Branch Not Equal; bne�ˤȤ�����ľ�ʥ����ɤ��ФƤ��ޤ��������Τ�������Τ��륳���ɤǤ�����̤�ư��Ƥ����ΤǤ���
  srliw       a2, a0, 0x1f
  srliw       a3, a1, 0x1f
  bne         a2, a3, 0x38
����ʺ�Ŭ�������ä����ɤ���ä���¸��Ǥ���ΤǤ��礦����Ĵ�٤Ƥߤޤ�����

³�����ɤ�

2024ǯ07��11��

������ε����Ǥ�
������̤���ư��Х��פȸƤ֤Τ�Ŭ�ڤʤΤ��ϼ���������ޤ��󤬡������餯�ץ�����ޤˤ� ��uint32_t �� 31 �ӥåȱ����եȤ�����硢bit 0 �ʳ������� 0 �ˤʤꡢ0x0 �� 0x1 �Τɤ��餫��ɬ���ʤ�פȤ������ۤβ��꤬���ä��ΤǤϤʤ����Ȼפ�졢�����Ȥϸ¤�ʤ��Ȥ�����̣��̤���ư��Х��Ȥ��ޤ�����
����ε����Ǥ�
����ѥ���饤�󥿥���ؿ��� C ������ͤ����ƤǤϤʤ��������˥���ѥ���μ����ȷ�ӤĤ�����Ρʥ����������ΰ����ȹͤ�����ˤʤΤǡ��ʤ�Ǥ⤢��ʤΤǤ��礦��
�ǤϤʤ� compiler-rt �δؿ�������פʤΤ����Ȥ������䤬���ޤ�ޤ������ɤ���쥸�����Ϥ�����Ƥ����ͤ���٥����å��˽񤭹��������դ����Ѵ����ư��äƤ��뤫������פʤ褦�Ǥ���

���⤽������� __ltsf2 ���ϤäƤ���Τ� float ���Τ褦�ǡ����Τޤ� uint32_t �ǰ��äƤϤ����ʤ��Τ��⤷��ޤ���
�ʤɤȤ��ޤ����ƽ���餻�Ƥ��ޤ��ޤ�������������Ĵ�٤ޤ�����

³�����ɤ�

2024ǯ07��10��

����ε�����SoftFloat��̤���ư��Х���2��RISC-V��RV64I�Ǥ�unsigned��32bit¨�ͤǤ�64bit�쥸�����ξ��32bit��0�Ȥϸ¤�ʤ��פ���­�Ǥ���

RISCV RV64I �Ǥ� unsigned �� 32 bit �͡�uint32_t�ˤǤ��äƤ⡢������ѥ쥸������Ǥ�����ĥ���줿���ǰ����ޤ����㤨�� f(uint32_t) �ؿ��� f(0xc0000000) ���Ϥ�����硢���������Ϥ� a0��x10�˥쥸�����ˤ� 0x00000000c0000000 �ǤϤʤ� 0xffffffffc0000000 ���Ϥ�ޤ���Clang ����ѥ���⤳�λ��ͤ�����Ȥ�����Ŭ����ԤäƤ��ޤ���

�ʤ�С�����ĥ����ʤ����� 32 bit �ͤ��ؿ��˥쥸�����Ϥ�����Ƥ����ʤ�С�����ϥХ��ǤϤʤ������Ȥ������䤬���ޤ�ޤ������⤽�⤳���ͤϤɤ������褿�ΤǤ��礦����Ĵ�٤Ƥߤޤ�����

³�����ɤ�

2024ǯ07��05��

����ε�����SoftFloat��̤���ư��Х���1��signed��unsigned�������ͤ����ݤ�INT_MIN�פ�³���Ǥ���

����ε����Ǥϴο��ʤ��Ȥ��˺�줿�ΤǤ�����libc �Ρ�fp ���եȥ��������ߥ�졼�����פȤϡ��Ĥޤ� libc �ǥ���ѥ����󥿥���饤�֥���GCC �� libgcc �� LLVM �� compiler-rt�ˤδؿ���������Ƥ���Ȥ������ȤǤ���FPU ��̵���������åȤǤϡ�����ѥ���� fp ̿�������ˤ��δؿ���ƤӽФ��ޤ���

�ʤ���������ݤʤ��Ȥ򤷤Ƥ��뤫�Ȥ����ȡ�libgcc �� compiler-rt �� fenv.h ���θ��������� FE_TONEAREST �� fp �黻��Ԥ�������Ȼפ��ޤ�������Ū�ˤ� FPU ��̵�� CPU �Ǵݤ������ι�θ��ɬ�פˤʤ�褦�ʥץ�������¹Ԥ��륱�����ϵ����Ȼפ��ޤ�����NetBSD �ˤϤ�����꤬����ΤǤ��礦�������Ҥ�Ǥ���¤����ƤΥ��ݡ��ȥ������åȤ�ɸ��˽�򤷤�ư���Ԥ�����ѥ���ġ�������������ʤ��ܻؤ��Ƥ��ޤ�����

³�����ɤ�

2024ǯ07��04��

NetBSD �� libc �� FPU ������ʤ��������åȸ����� fp����ư���������˥��եȥ��������ߥ�졼������ John R. Hauser �᤬��ȯ���Ƥ��� Berkeley SoftFloat �ΥС������ 2a ����Ѥ��Ƥ��ޤ���
http://www.jhauser.us/arithmetic/SoftFloat.html

���ҤΥ���ѥ���ġ�������������� exeClang �� NetBSD �� libc ����Ѥ��Ƥ���ΤǤ�����LLVM 18 �Ǥγ�ȯ��� RISC-V �� RV64 IMA��noFPU�˥������åȤ򤤤Ĥ�Τ褦�˾��ѥ���ѥ���ƥ��ȥ������Ȥˤ�����ȡ����� fail �� 1 ��ȯ�����ޤ�����

���θ������ɵ椷�ƹԤ������ǡ����� SoftFloat ��̤���ư���Undefined Behavior; UB�ˤ� 2 ��ȯ�������ΤǾҲ𤷤ޤ�������Ϥ��Τ��� 1 ���ܤǤ���

³�����ɤ�

2024ǯ06��27��

MSYS2 ����Ѥ����硢MinGW64 �Ķ��� UCRT64 �Ķ��� 2 �Ĥ�����ޤ���

MinGW64 �������߿��� Microsoft Visual C++ �� msvcrt �� C RunTime��CRT�˥饤�֥��˻��Ѥ��ޤ������� UCRT64 �� Windows 10 ������Ѳ�ǽ�� Universal CRT ����Ѥ��ޤ�����UCRT64 �� 2020 ǯ�������鳫ȯ���Ϥޤä����Ū�������Ķ��Ǥ�����

���ޤǤϤɤ����Ʊ���褦�ʤ�Τ��ȻפäƤ����Τ������� MinGW64 ��Ȥ�³���Ƥ��ޤ�������Ʊ���С������� QEMU �� UCRT �ǡ�mingw-w64-ucrt-x86_64-qemu�ˤϴ����̤�ư���Τˡ�MinGW64 �ǡ�mingw-w64-x86_64-qemu�ˤ�ư���ʤ�������������ޤ�������������̤���ͳ��̵���¤� UCRT64 �Ķ���Ȥ����Ȼפ��ޤ���

�ܺ٤ϰʲ��ˤʤ�ޤ���
³�����ɤ�

2023ǯ12��06��

����� Linux �� Apple �ʤɤΥ�å� OS �Υ��ץ�����Ȥ������᡼�����ä� LLVM �ι�®��� lld �Ǥ�����LLVM 17 �� GNU ld �Ȥθߴ������ܴۤ����ˤʤꡢAArch64/ARM/RISC-V �Υ٥��᥿��ġ����������Ǥ� GNU ld ���֤������Ǥ��뤳�Ȥ���ǧ�Ǥ��ޤ��������������Ҥ� SOLID ���󥯤ι�®���� Clang �Ǥ� LTO �ʤɤ���Ԥ��� lld �б���ʤ�Ƥ���ΤǤ��������λ��� 1 ���������ˤ狼��ˤ�����ߴ�����Ǻ�ޤ��줿�Τǥ�⤷�Ƥ����ޤ���

³�����ɤ�

2023ǯ10��26��

��̳�ǥ����륹����ץȤ�񤤤Ƥ��ơ������ԲIJ�ʸ��ݤ��������ޤ��������ޤ���̤���Ǥ���������Ĥ��Ƥ����ޤ���

�ʲ��������ݤ�ȯ������Ǿ������륹����ץȤȤʤ�ޤ���
#!/bin/bash -xe

export LIBFLAGS="c:/ d:/"

/c/msys64/mingw64/bin/gcc.exe -v &> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.txt
³�����ɤ�

2023ǯ04��28��

���ô���ǤϤʤ��ΤǾܤ����ʤ��ΤǤ��������ҤǤ� Rust �γ�ȯ�Ķ����󶡤��Ƥ��ޤ���
https://www.kmckk.co.jp/pdf/20211020_solid_press.pdf

����Ȥ��ä˴ط��ʤ���������� Rust �ǽ񤫤줿�饤�֥���٥��᥿��Ķ��ǻȤ�ɬ�פ��ФƤ����Τǡ��٤�Ф��ʤ��� Rust ���ٶ���Ϥ�ޤ�����

�ޤ��Ϥ��Υ��塼�ȥꥢ����äƤߤ��ꡢͽ�۳��ˤ��������ϥޤäƤ��ޤ�������⾯�ʤ��ƺ��ä��Τǡ����ޤ����ä���ˡ���⤷�Ƥ����ޤ����ʻ��鿴�ԤʤΤǡ����Τ�������������Ȥϸ¤�ޤ��󡣡�

AArch64 Bare-Metal program in Rust
https://lowenware.com/blog/aarch64-bare-metal-program-in-rust/
³�����ɤ�

2023ǯ04��26��

���Υ֥����Ǥⲿ�٤����夲�Ƥ��ޤ�������QEMU �� Windows �Х��ʥ��x64�ˤΥӥ�ɤϡ������ϤȤƤ����ѤǤ��������󡢤Ȥ������ǿ�ǯ�֤�� Xilinx QEMU �� git HEAD��QEMU 7.1.0 �١����ˤ�ӥ�ɤ���ɬ�פ��ǤƤ����Τ�Ĵ�������Ȥ�����������ä� Xilinx QEMU 2020.3��QEMU 5.0.50 �١����ˤΥӥ�ɴĶ��Ǥϥ饤�֥�꤬�Ť�����ӥ�ɤǤ��������åץǡ��Ȥ⺤��ʾ��֤Ǥ�����

�ǽ�Ū�ˡ��ǤⲦƻ�Ǥ��� MSYS2 �ǥӥ�ɤ�������������ư���ǧ�Ǥ��ޤ��������λ��Υ��Ǥ���

³�����ɤ�

2022ǯ07��28��

����� OS ������Ȥ��ʤ��٥��᥿��Υġ����������ʤ����� aarch64-unknown-elf �Τ褦�ʥ������åȡˤ���°����饤�֥��ϡ��ޥ������åɴط��Υ饤�֥�����¾����ʤɤ����� OFF �ˤʤä����֤Ǥ���pthread �ʤɤΥ���åɥ饤�֥�������ˤ��뤳�Ȥ������Ǥ��ޤ��󤬡�Thread Local Storage��TLS�ˤ����ʤ�� OS �˰�¸���ʤ����Ǽ����Ǥ������� OS ��Ȥ�����̵�ѹ��ǥ饤�֥��ؿ��Υ���åɥ����ղ�����ǽ�ʤΤǤϤʤ������Ȼפ��Ĥ���Ĵ���������Υ��Ǥ���

³�����ɤ�

2021ǯ06��14��

�Ƕ�Rust�Ȥ����������ץ�����ߥ󥰸��줬¿����ʬ������ܤ���ӤƤ��ޤ���Rust��C++�Τ褦�����٥�ʥ���ѥ��뷿����Ǥ���⤤��Ψ��ư�����������Ϥʷ������ƥ�������������ݾڤ��뤿��λ��Ȥߤ������Ƥ��ꡢ�Х��ξ��ʤ������ɤ�񤯤��Ȥ��Ǥ��ޤ����ܵ����Ǥϡ�TOPPERS�����ͥ�����Ҥ�SOLID-OS���Rust�ǽ񤫤줿�ץ�������ư�����������ͥ�API����Ѥ�����ˡ��Ҳ𤷤ޤ���

³�����ɤ�

2021ǯ04��14��

GCC �ξ�硢�ۥ��Ȥ� C++ ����ѥ���Τߡ��̾�� GCC�ˤǡ�Binutils �� GCC �Υ����������ɤ��鴰���� C/C++ ����������ѥ����ӥ�ɤ��뤳�Ȥ���ǽ�Ǥ���

����ޤ� Clang �� GCC �˰�¸���Ƥ��ꡢLLVM �ץ��������ȤΥ����������ɤΤߤǴ����ʥ���������ѥ����ӥ�ɤ��뤳�ȤϤǤ��ʤ��ʤ��Τ��ᡢGCC �Υإå���饤�֥��򤽤Τޤ޻Ȥ������ʤ��ˤȤ���ǧ���Ǥ��������θ���ϡ�CMake �������ʡ�a.out ��������ǽ�ʡ�C/C++ ����ѥ�����׵᤹��Τǡ�Clang �Υ�󥿥���饤�֥��Ǥ��� compiler-rt �� Clang ���Ȥǥӥ�ɤ�����ˡ���狼��ʤ��ä�����Ǥ�����ĤǤ� GCC �ǥ饤�֥���ӥ�ɤ��Ƥ��ޤ��ȡ����Υ饤�֥��� GCC �Υإå��˰�¸���뤳�Ȥˤʤ�Τǡ�¾�Υ饤�֥�������Ʊ�� GCC �ǥӥ�ɤ��ʤ���Фʤ�ޤ���

�������Ƕᤤ������Ĵ�٤Ƥ��ơ��¤Ϥ��줬��ǽ�Ǥ��뤳�Ȥ��狼��ޤ�����
���������ʲ������¤�����ޤ����ʤ��ε����Ǥ� RISC-V �򥿡����åȤȤ��ޤ���¾�Υ������åȤǤϰʲ������¤�̵����ǽ��������ޤ�����
  • LLVM ��� LLD �� RISC-V �Υǥե���ȤǤ��� -mrelax ���ץ�����Linker optimization/relaxation�ˤΥ��ݡ��Ȥ������ǤϤʤ��ʤɡ��͡������꤬���뤿�ᡢ��󥫤Τ� Binutils �� GNU ld ����Ѥ��ޤ���
  • LLVM �� C++ ��󥿥������ libc++abi �� C++ �饤�֥�� libc++ �� newlib �Ǥϥӥ�ɤǤ��ʤ��褦�ʤΤǡ������ C ����ѥ���Τߥӥ�ɤ��ޤ�����libc++abi �μ����˻��Ѥ���� C++ �㳰�μ��� libunwind �ϥӥ�ɲ�ǽ�Ǥ�����C �ξ������פʤΤǺ���ϳ䰦���ޤ�����
  • RISC-V ̿�᥻�åȥ��ߥ�졼���� spike �Ȱ��˻��Ѥ��� pk �����ͥ뤬 clang �Ǥϥӥ�ɤǤ��ʤ��褦�ʤΤǡ�spike/pk �Ϻ���ϥӥ�ɤ����������δĶ��� GCC ��Ȥäƥӥ�ɤ�����Τ���Ѥ��ޤ�����OVPsim ��̵���Ǥϸ��� V ��ĥ�ò¥µ¥Ý¡ï¿½ï¿½È¤ï¿½ï¿½Æ¤ï¿½ï¿½Ê¤ï¿½ï¿½ï¿½ï¿½ê¤¬ï¿½ï¿½ï¿½ï¿½Þ¤ï¿½ï¿½ï¿½ï¿½ï¿½


³�����ɤ�

2021ǯ02��19��

Binutils �� GCC �ϡ�Ubuntu ��� Windows ��ư��롢�Ȥ߹��߸�����RISC-V �ʤɡˤΥ���ѥ���ġ������������ñ�˥ӥ�ɤǤ��ޤ��ʥ��ʥǥ����󥯥����ӥ�ɡˡ�configure �κݤ� --target=riscv64-unknown-elf --host=x86_64-w64-mingw32 --build=x86_64-pc-linux-gnu ����ꤹ������ǡ���ϴ���Ū�˥ͥ��ƥ��֤�Ʊ���Ǥ������λ���Ubuntu ���x86_64-pc-linux-gnu�ˤ�ư��륯������ x86_64-w64-mingw32-gcc��g++�ˤǥӥ�ɤ��Ԥ���Ȥ������ȤߤǤ���

Clang �ξ�硢CMake �ǤɤΤ褦�����ꤹ����ɤ��Τ��Ȥ���Windows �Х��ʥ��������ǽ�� clang �� Ubuntu ��˸�������ʤ��ä���clang ��ӥ�ɤ���ˤϡ�MinGW gcc �ǤϤʤ���clang ��ɬ�סˤʤɤ���ͳ�ˤ�ꡢ����ޤǤ� VisualStudio ��Ȥä� Windows ��ǥӥ�ɤ��Ƥ��ޤ�����

���󡢰ʲ��ε����� llvm-mingw ��¸�ߤ��Τꡢ̵�����ʥǥ����󥯥����ӥ�ɤ��������ޤ�����

³�����ɤ�

2021ǯ02��05��

����γ�ȯ PC �� AMD Ryzen 9 5950X��16 ���� 32 ����åɡ�RAM 32GB �ˤʤä��ΤǤ���������ޤ� 1 ���ְʾ夫���äƤ����ӥ�ɤ���ʬ�ǽ����褦�ˤʤä��ΤǷ�Ū�˸�Ψ���夬��ޤ�����Release �ӥ�ɤʤ�� 16 ����� CPU �ۤ� 100% �Ȥ��ڤ�����­��Ƥ���褦�Ǥ���Debug �ӥ�ɤ� 8 ���󤰤餤�ޤ���Ȥ��Ƥ������­�Ǽ��Ԥ��ޤ��������󤫷����֤��ȺǸ�ޤǽ����Τǡ��ǥХå����ʤ�����ϰϤ��ʤȤ��������Ǥ���LLVM �γ�ȯ�򤹤�ʤ�С��Ǥ���� RAM �� 64GB �ߤ�����Ǥ��͡�

�����˥ӥ�ɴĶ����ä��Τǡ����λ��Υ��Ǥ���

³�����ɤ�

��������
�ǿ�����
���̥���������
�ǿ�������
<%==comments[n].author%>
<% } %>
�������������󥿡�
  • ������
  • ������
  • �߷ס�

<% for ( var i = 0; i < 7; i++ ) { %> <% } %>
<%= wdays[i] %>
<% for ( var i = 0; i < cal.length; i++ ) { %> <% for ( var j = 0; j < cal[i].length; j++) { %> <% } %> <% } %>
0) { %> id="calendar-611743-day-<%= cal[i][j]%>"<% } %>><%= cal[i][j] %>
���ƥ����̥���������
�������饦��
QR������
QR¥³¡¼¥É
���ԥޥ���������ԥ塼��

'); label.html('\ �饤�֥ɥ��֥����ǤϹ���Υѡ����ʥ饤�������¬��Τ��᥯�å���(cookie)����Ѥ��Ƥ��ޤ���
\ ���ΥХʡ����Ĥ��뤫�������³���뤳�Ȥǥ��å����λ��Ѥ�ǧ������������ΤȤ����Ƥ��������ޤ���
\ �ޤ��������ͤ����ҥѡ��ȥʡ���Ȥˤ��������μ�³���ˤ�ꡢ���å����λ��Ѥ�������뤳�Ȥ�Ǥ��ޤ���
\ �ܺ٤��饤�֥ɥ����ѵ���򤴳�ǧ����������\ '); banner.append(label); var closeButton = $('