From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yw1-x112c.google.com (mail-yw1-x112c.google.com [IPv6:2607:f8b0:4864:20::112c]) by sourceware.org (Postfix) with ESMTPS id 79C91384DB53 for ; Fri, 15 Dec 2023 19:43:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 79C91384DB53 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 79C91384DB53 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::112c ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702669406; cv=none; b=WkQLV3siRWjoGOT3GOf8Ro58BHp1DVnfuhtK4RWsHyUrPF+33obka8IU/wWUBla9+0mKNIC1QAwtboOm00PiIjkL2CxgZBWJCsTI1MaSMpz5ZvqPNmxbcFXbrWlaXFYT1T82SJrJhXpZjhMT/+ujTdM5xS0GB1l45/kTGjfa8hM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702669406; c=relaxed/simple; bh=hYmximQ8V0W9UA+O5FtoQsiEw1xiRKhm7mCO3QnfCQ0=; h=DKIM-Signature:From:Message-ID:Subject:To:Date:MIME-Version; b=XmQ9lyYlTIe5yr3qgj+7TClgPP51jjlrxucTIXwQYjNB0K5uKPZnZ1X/jyv1ApZsTze0Xhd7ZgqSBTwLi+wJV+bSBaL1/C/43VrKjP2P4/v+3Te4WXFY/TMZUnlwjq7Aq6Ho2aFX1qxbLZTa2xAu+ebS+7useoxP252/JzzcdlQ= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-yw1-x112c.google.com with SMTP id 00721157ae682-5c85e8fdd2dso9273787b3.2 for ; Fri, 15 Dec 2023 11:43:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702669403; x=1703274203; darn=gcc.gnu.org; h=mime-version:user-agent:content-transfer-encoding:organization:date :to:reply-to:subject:message-id:from:from:to:cc:subject:date :message-id:reply-to; bh=jU1JVoNDjmFtNzNTmA/CplCme3DIrcfx88h15w5FPfk=; b=gq1VBJrF6wVYSCtOyKSqxM/zE+xrOFTtZWr2pGa5l3X7G4IKe8FLT9OlA7ES47md2H fTOVR/Nmu+V4CqzHgq4MRdWKSJhyhCCIUZw9HohhqRJwGpP+y8dkKhGpq6R/EcvFmLYM cU18waBfNmG0VYjUuWQlX0+VU7/Txd3PNDXEIkTuQ9Xu8TxkE2nLaOE9kHuP4IGH7xLh k/TiM/G0v8JKHH80WQ5s1cXwPJDf/Gq3hW0Rug4mdo7l915e35TOEQqJfoytWYuAAFxa yh79KbcXQZSLNfBxTKsv2c+fyxSfcASWlbX2ip8pvDLAwXYZfGhnFY/WiFfjUH2J76Al DMdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702669403; x=1703274203; h=mime-version:user-agent:content-transfer-encoding:organization:date :to:reply-to:subject:message-id:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jU1JVoNDjmFtNzNTmA/CplCme3DIrcfx88h15w5FPfk=; b=kd9AQwD4YynUIhr0BuPeMMoMpjNGwkCVveu7or6zmTWyCaBZqCjJ7pJhp75YjW+1JR JwV9ggOLpj9FeQ6qAG/poc7xdiat3qfgCiAFAhYqPgUr+RPiy2DYAwxLolW7HRhtQHPj ds7m8OVx+14HZyr9Wk95ouWLyDSSFz2ofLKThQeukkVOeebIpRV8Vyg8ht+sV2hGVq+v nq0Gg08CNZd32b1+iVFEM7Mf8eGaDlAN61NIbigtrjbcEhgeXWa3Gz0DvojcJRx9jLeI riVukE6yUn6hyoseBvb/IxO1Zp9Q9RhTi5TR+Qv0GxrUr3XeoWjroObm7NcRDXnabm3Z yGEQ== X-Gm-Message-State: AOJu0YzLTQbcKa7Al4rUBmtVDyq15yQm058OF0T1mRTypNEe5VJjm3vU MVxr3szAZIV0EXJlkRtr/k6r6gUfYIs= X-Google-Smtp-Source: AGHT+IHn2h0fJWHlSUbRY6TUAo3xUow2qOzKElw0N662GNRwaB286AubbND7266oJk8bnoajW+OYuQ== X-Received: by 2002:a0d:e88d:0:b0:5e3:7100:7a62 with SMTP id r135-20020a0de88d000000b005e371007a62mr3124425ywe.3.1702669403454; Fri, 15 Dec 2023 11:43:23 -0800 (PST) Received: from [10.3.3.75] (h55.202.89.75.dynamic.ip.windstream.net. [75.89.202.55]) by smtp.googlemail.com with ESMTPSA id et12-20020a056214176c00b0067ad0ccae3csm6998830qvb.103.2023.12.15.11.43.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Dec 2023 11:43:22 -0800 (PST) From: "David H. Lynch Jr." X-Google-Original-From: "David H. Lynch Jr." Message-ID: Subject: Request for Direction. Reply-To: davidlynch@dlasys.net To: gcc@gcc.gnu.org Date: Fri, 15 Dec 2023 14:43:22 -0500 Organization: DLA Systems Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.2-1 MIME-Version: 1.0 X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: I am part of a project developing content addressable memory. I am the 2nd author for a paper on this presented at MEMSYS 2023, and with additions likely to be accepted by ACM shortly.=C2=A0 https://www.memsys.io/wp-content/uploads/2023/09/10.pdf My role is to develop software to demonstrate the benefits of the hardware/memory. A part of that is implimenting language extensions to provide native support for content addressible memory.=C2=A0=C2=A0 And then to modify some applications to utilize those extensions and demonstrate the value.=C2=A0 We have already developed a C/C++ preprocessor, that is mostly functional, but are looking to move to altering some actual compilers. At this time this work is purely proof of the value proposition to content addressible memory. Presuming that our work proves valuable,=C2=A0 that will provide an impetus for further works.=C2=A0 Right now I am just focused on some means to deliver support.=C2=A0 So I am looking for direction regarding how to easily extend gcc to provide support for content addressible memory.=C2=A0=20 Basically I need to be able to tag variables as Content addressable, rather than normally addressed, and then change code generation for CA variables such that they reference memory by key rather than address.=20 Is there a guide anywhere to developing language extensions for GCC and/or making changes to code generation ? I am a competent embedded software developer, with some ancient experience with compilers, but starting from scratch with GCC.=C2=A0 Pointers would be appreicated. Help would be appreciated. While I am leading this part of the project, there is some funding available for assistance.=C2=A0 Some recent languages have some form of content based addressing, but this is implimented by the CPU. We have altered the address logic of memory to alter the way an "address" is handled ushc that it can function as a key rather than a traditional linear address.=C2=A0 We have demonstrated Sort in Memory with relatively simple changes to memory addressing logic, and we have extended the addressing capabilities to things like sparse array notation which has applications to AI.=20 We are not looking to feed anything into the GCC distribution.=20 But the software will be open source.=20 =20 =C2=A0 =20