<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/61348>61348</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            clang crashes at -Os: Assertion `(Align != 0) && "Align is normalized"' failed 
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          zhendongsu
      </td>
    </tr>
</table>

<pre>
    It appears to be a recent regression. 

Compiler Explorer: https://godbolt.org/z/ojhMPYzbe

```
[517] % clangtk -v
clang version 17.0.0 (https://github.com/llvm/llvm-project.git 43ae4b62b2671cf73e691c0b53324cd39405cd51)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/opfuzz/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11
Candidate multilib: .;@m64
Selected multilib: .;@m64
[518] % 
[518] % clangtk -Os small.c
clang-17: /local/suz-local/software/clangbuild/llvm-project/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp:186: llvm::MVT getOptimalRepmovsType(const llvm::X86Subtarget&, uint64_t): Assertion `(Align != 0) && "Align is normalized"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: /local/suz-local/software/local/clang-trunk/bin/clang-17 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free -clear-ast-before-backend -main-file-name small.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -mllvm -treat-scalable-fixed-error-as-warning -debugger-tuning=gdb -fcoverage-compilation-dir=/local/suz-local/software/emitesting/bugs/20230311-clangtk-m64-Os-build-150021/delta -resource-dir /local/suz-local/software/local/clang-trunk/lib/clang/17 -I /usr/local/include/csmith -I /local/suz-local/software/local/include -internal-isystem /local/suz-local/software/local/clang-trunk/lib/clang/17/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -Os -fdebug-compilation-dir=/local/suz-local/software/emitesting/bugs/20230311-clangtk-m64-Os-build-150021/delta -ferror-limit 19 -fgnuc-version=4.2.1 -fcolor-diagnostics -vectorize-loops -vectorize-slp -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/small-8f7a46.o -x c small.c
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'small.c'.
4.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@main'
 #0 0x0000563724859d52 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x3f72d52)
 #1 0x0000563724857664 SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f1c0a81d980 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12980)
 #3 0x00007f1c0944ae87 raise /build/glibc-CVJwZb/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0
 #4 0x00007f1c0944c7f1 abort /build/glibc-CVJwZb/glibc-2.27/stdlib/abort.c:81:0
 #5 0x00007f1c0943c3fa __assert_fail_base /build/glibc-CVJwZb/glibc-2.27/assert/assert.c:89:0
 #6 0x00007f1c0943c472 (/lib/x86_64-linux-gnu/libc.so.6+0x30472)
 #7 0x000056372359d26b llvm::X86SelectionDAGInfo::EmitTargetCodeForMemcpy(llvm::SelectionDAG&, llvm::SDLoc const&, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::Align, bool, bool, llvm::MachinePointerInfo, llvm::MachinePointerInfo) const (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x2cb626b)
 #8 0x00005637258a3e42 llvm::SelectionDAG::getMemcpy(llvm::SDValue, llvm::SDLoc const&, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::Align, bool, bool, bool, llvm::MachinePointerInfo, llvm::MachinePointerInfo, llvm::AAMDNodes const&, llvm::AAResults*) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x4fbce42)
 #9 0x00005637258121fd llvm::SelectionDAGBuilder::visitIntrinsicCall(llvm::CallInst const&, unsigned int) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x4f2b1fd)
#10 0x00005637258482e1 llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x4f612e1)
#11 0x00005637258cace8 llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void>, false, true>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void>, false, true>, bool&) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x4fe3ce8)
#12 0x00005637258cc06c llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x4fe506c)
#13 0x00005637258cdcbe llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (.part.0) SelectionDAGISel.cpp:0:0
#14 0x00005637233b142c (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) X86ISelDAGToDAG.cpp:0:0
#15 0x0000563723badc25 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
#16 0x000056372415faf3 llvm::FPPassManager::runOnFunction(llvm::Function&) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x3878af3)
#17 0x000056372415fd21 llvm::FPPassManager::runOnModule(llvm::Module&) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x3878d21)
#18 0x0000563724160645 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x3879645)
#19 0x0000563724abf11f clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x41d811f)
#20 0x0000563725a2fc03 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x5148c03)
#21 0x000056372692e9b9 clang::ParseAST(clang::Sema&, bool, bool) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x60479b9)
#22 0x00005637252abaf1 clang::FrontendAction::Execute() (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x49c4af1)
#23 0x000056372522e4d6 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x49474d6)
#24 0x00005637253758ae clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x4a8e8ae)
#25 0x0000563721d3ce96 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x1455e96)
#26 0x0000563721d38d73 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#27 0x0000563721d39704 clang_main(int, char**, llvm::ToolContext const&) (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x1452704)
#28 0x0000563721c56b8f main (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x136fb8f)
#29 0x00007f1c0942dc87 __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:344:0
#30 0x0000563721d3352a _start (/local/suz-local/software/local/clang-trunk/bin/clang-17+0x144c52a)
clangtk: error: unable to execute command: Aborted
clangtk: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 17.0.0 (https://github.com/llvm/llvm-project.git 43ae4b62b2671cf73e691c0b53324cd39405cd51)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /local/suz-local/opfuzz/bin
clangtk: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clangtk: note: diagnostic msg: /tmp/small-4d4545.c
clangtk: note: diagnostic msg: /tmp/small-4d4545.sh
clangtk: note: diagnostic msg: 

********************
[519] % 
[519] % cat small.c
#pragma pack(1)
struct a {
  unsigned short b;
  unsigned char c;
  int d;
  volatile long e;
  unsigned long f;
  unsigned long g;
};

int main() {
  struct a *i = 0;
  *i = *i;
  return 0;
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkWltv27qW_jXKC0FDoq5-yINix20G7UnQ5PTsmReDopYU7kqkhqRy6a8fkJIdyXXadG9nZoADtI7Ey7rzW4sUqda8FgDnXnzhxesz2pt7qc6_34Mopah1f1bI8vn8yiDadUCVRkaiAhBFChgIgxTUCrTmUiyQ5689Px9-V7LteAMKXT51jVSgvDBH98Z02gtzj2w8sqllWcjGLKSqPbL57pGN_PP-881_fi9gSslL_PHf8BpfxEHqxWvkkRixhorafEP4Yeh17-gBlJUIBenCX_jII9kBZ27u-2LBZOuRTdM87P7gTsk_gZlFzQ2KQgpRkZCCJGnAqjSEZBkwv4jDkESsDJeRH7MyDjyyHHjfUVWDsXo-Zck2iXAvvgn5KHDDRf-Ea9GP4-4V0BK1soTGju6k5k9D15XQhjYNlGvuDGblkow2Htno_jvePcuu6r9bgxVcDBM3shclYlSUvKQG0IfVCvGBGDVcipFYr5UlyQtrBMY8suFJlkwEJJvsbxIcdZ-SDPx3oBmcnmbyDiQX8eIdtE_fgeT7SDqG0y00wAyUJ_H5ai9Z2zeG21lhjhZeeOFFfptEByx_NsihSbZDk2Nte4S51ki3tGkWbAI1OEh_sk61rMwjVeCRjRtd9LwpD7BmgkBO-xFFyOaPLBl-B0W4FOv8w5Wo5IJ1nRfmQZZY1m5ymHth_vnrHarBXHeGt7T5Al0rH_TdcwceyZgU2kzGWrJ9YUZeiUdWqOfCJNHWWDwLc5RrDcpyRRZ6SZY3vBbII4EXrpHvkSVy8xLkETL0cY2EVC1t-HcoPUI8kqKK8gbKxWCxm0-X-e0l0n3RcoMoKvoaKeikMjar_B5EW-jSugftkQ2iokRcsKYvAZl7QExRfY8Kyr4ZRRlY7ToFnZIMtIYSadmrodnOpFpLxqkNFdULpJninRlFvjWUfUNl31qLD03-wvOXN0rWiraIqrpvQRj9tijYNQ2xY1Qvvo0ovmsLUoQZCxA2incNvJpKEIaWGyyLPxEuuaZFA7hSAAizBqjCVBtcQCUVYGsHECXCLeUCV7wBLGgLu2hGuFVgBbPOxi4roY4zhDvOcAMP0CAyvHCNOw4It5WiLeBOcmFsYl8LKQDhqqXmHoNSQiJcVR1mUlj7Gy9cS4FwJSRWFlq4qLEdi3Dr4lL1zEiFacOpBo1w1YtHLkpsrFbaC9cE4SFUMet6axKcRAibXoBrqEGAshK3NkKs6YAarBltBrPwJyitXJaHxo9UCS5qhEso-roGZQlxUXvhui4LhCsmH0DRGjBzNcxgl9Im5PWvPWy9AtpYemRT9LWNT-KT0A-DAI9YgtskwtcaOzjAQez7JPDIpoTGUIQVDOFpWf7lkBqwxLVZ4EwRvprA7DhlXDJ2oG659cfVbzDcLTjsokDQBnP9rA20JxP6V0yOavPTob_ML2SzWPz4c2Tsj9zgyT6wH7m-mPmQzs9n_z4Ll6Rw5QL7_yh6q2GdNdxCfLBEuKpFz_BYkXvhOlqQReBWWSMVLjmthdSGM43wA1gc4N8BN1J2swbddAhXtCyV5jXC6-32w2q1_Zh_vdyu_5V_2ZDtanO1zW8_e-E6QFha05i2s9pZlMNZldIoWUiEnxCb5_HA4rkXrkBWXniJOqo0KEQNspgpK2QBcxhJ7MiVLGFAnKF-cT2h7fnSCwcsHdUaeSTd9MKlbXRjGz5TQWtQNilKYYv_vgE7aicLSceUEx2j9UeWoHX-AXvh5Tr_gK5G1LTU9-XBSLrasfVIaksdarPLWDAij4Q-8p983_fjJExJlMXLMiaTykA_6-HhRnFhXP67G5Jo9jJI0cet1BZn27F64MIMNUF2mizokQv_KaxSUsZkv8Oy4gcH4qdJEqFbXgvafKSibKyJs1GaoVmPBZPv_u8JkZFQWgXMp1lQLjMfbbcKtJEKtsrslHGgcQQCGl50xu3lFloufCdxQJaZP5M3nLJZRhGFLEWKcm29v9lVhHXDC4ZXX__j8b-K_StZEIuB2mmxwyL9rEvo7MLsBX8aGh6cNKK3r470gnlhHgdzhaMDSVhaBYgW0mn6NklMOVjDzXJMsgMm8ZxJyMKKou2Wumpya8vBbUHfrvswb_8wsFzOWSaHLKOUvMF3zHotGeLMj9J5lKXTKAvjZUmS4qB8PqjKh47Llpuhgrc4sZHqM7Sse54tnunMcfVMOtefJEOuLDrS95U2PZy00ZXutqmQspn-newrKLvnAm6Gcs_p-sv-5aDCifGAsCIhSTHzVDb1VJzREKIpnM2M7VpqMMecctxi7-aMV-1-GvvPWOWf1_-QJehXNMnzL6D7xmiP5KfH8KgqGETz1bWc-ywgQVW-4rMLCxLu9NAL8weuubkSRnGhOVvRppn50DbYzDjTsxfuhLN8nwwVVaQIqnKvnU1Q_ly7KCMQvFm7mULTNP-i0-l1SAICwUyHYK4DowyyV3S4unXHmPvWC6o5u2gk-zbThTdcmy03tm6SygtXh10lGMpHSkKWsJWd5aBnQycWsc41alhXFW20e3iQvPTCy1mbGzS0_T8TZ1jr7-JSCBlkM5eSA5cyP2FvdGneNC9e1TO37ovc94xPiP2EzZQJD5QpWQG_VEb14lqMaLmTe6bMD307bRYdVWbhTr0OSf9YXFr5oln9EBZBRJglRIUUz63sNRK0Bd25wnq5LyrW-Yc7eQqZ_8gSS2NH77iQ8UzIgpaMxD_mlR1lu4uZyHRUmJ9a7gi943IlsxI_iCtahRO5Njd26m4_9dsSnXJ_kqUZrcJZZKaHwpckeIPwn92GcO7ZsemdBC_JHPKzueCJn0TTaGigpux53Bq-qHDVdi-R-r8o_jKJ4pn4s5oiokUVBNVweP9SmV8MJ6HXvel6m2kn3euXg4hLUXMBY_kwGfIRaAnqFqhi99dDMphVGpOhtvj_AOIXo4aNwi8GfaKiPjZkAna2Hqq_QHVQFo72zw8IjkbI91lrms6M6jV_gC9QrYS5MfPE-FCNALDhDdy6I6gxkWlTDj294P_dw7Y7mKno47Z7VNzAdndqMJlUQkX7xqbcBgz8YmJ46XiePMkEZRYE1TSkyLyQo6RifnjEkispdN_uVvNwCHGnqNDD4ds_BT-Itfz2biWFgaf3yZdxEGXMn6ESmdVzyZLAslhOVbmhSkN-ezcX9BZaOobbfHtyapETP0qXxXIm8rxeIbSgVTAVeaOsDfeBPCzyJ2C9ASfcySNkySJazTCTzMsQQiAqkzkODLcg3Hd9wWAm5W4FZq8r9S7l1DJKozKZ6TErV-IwjTMKM_AcJH5R52H8XjSX_gd132VDSTPIKMzkn1UyQRkyWCaIsWA7nH5OslKuFH22WBmu2D1VO0jNRyCbt-0q-PdQI4jiGJZzNyQHamRlGqKd7VfBnVt700OLljbNV3dIPuThIzodJAtLYwSfWcleKv4A6mg9RtIDsZapHw3RsbOv21sP1nPGyt_G9OQWJakfzSw6K2oCFidFViEr9Kl5h0lVZPP0sZyfS5KSZSnabhtesK02VJntKMibTkKZ7ndHwMOj63R03KloGEUzr83P-YMyDGNC0cD45IaPWEzoXvnxQ5EX5sh9DbIPvaBFA8hIBEM8IybblorS3TUopDJQvj57uNZVjeC4mzreLkBl7wgP5-RWt14Dwg-uDQDxCVot_72viU1sK6QttXL08gUOtbp21MYQ-hv_Jtf3xksf-d1dvvqI7j5eos31p0_X_7r6xwe0ufp0eYvurl3zxT8_oC-XN9df7vZXLW6OXdrItIWOVy9u7AcoQO5WA5SImj3Jt1lg_vEwKqM4imf3fv4aBX3_-244lTPiizhYHrnotG9j1Mw_jHok7BStW4o66g7zXmJ4OPVCFHnpxXis-3LQqu-lMqjwwh-7hvQ06eHCoHLy_iBt0dxY14kawTEarqd6tafe93jp-uXZ_VpuY8Zy6edF-BeFSM7RcMXphcO-0T5M2hWYXonJUMtyfmn1rDwPy2W4pGdwHiRpFidJTNKz-_MojNMkpZBEfsGKogqKMoSMBD5kflaE7Iyf7768E59kUbqwZU1VlAkpaFL5EfMiH1rKm4XFpIVU9Zm7EXWeBGGUnTW0gEa7e72ECHhErtMjxIvXZ-rc4Zj7wh_5DddGv1Ax3DRwPkCku0kFGlGD8LU-9b0wdNar5vyvX_xymv5PAAAA__8C78v6">