<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>GHC on ARM</title>
	<atom:link href="https://ghcarm.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://ghcarm.wordpress.com</link>
	<description>Fun of Glasgow Haskell Compiler hacking on ARM architecture...</description>
	<lastBuildDate>Sun, 03 Feb 2013 15:11:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ghcarm.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>https://s2.wp.com/i/buttonw-com.png</url>
		<title>GHC on ARM</title>
		<link>https://ghcarm.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="https://ghcarm.wordpress.com/osd.xml" title="GHC on ARM" />
	<atom:link rel='hub' href='https://ghcarm.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Testing LLVM 3.1 on Ubuntu 11.10/12.04 ARM</title>
		<link>https://ghcarm.wordpress.com/2012/06/08/testing-llvm-3-1-on-ubuntu-11-1012-04-arm/</link>
		<comments>https://ghcarm.wordpress.com/2012/06/08/testing-llvm-3-1-on-ubuntu-11-1012-04-arm/#comments</comments>
		<pubDate>Fri, 08 Jun 2012 20:11:40 +0000</pubDate>
		<dc:creator>kgardas</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[11.10]]></category>
		<category><![CDATA[12.04]]></category>
		<category><![CDATA[3.1]]></category>
		<category><![CDATA[llvm]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://ghcarm.wordpress.com/?p=337</guid>
		<description><![CDATA[Few weeks ago LLVM project released LLVM 3.1 release and I decided to give it a try on my ARM boards. I&#8217;ve tested on Ubuntu 11.10 on Freescale donated i.MX53 Quick Start Board and on Ubuntu 12.04 on Pandaboard. The &#8230; <a href="https://ghcarm.wordpress.com/2012/06/08/testing-llvm-3-1-on-ubuntu-11-1012-04-arm/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=337&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Few weeks ago LLVM project released LLVM 3.1 release and I decided to give it a try on my ARM boards. I&#8217;ve tested on Ubuntu 11.10 on Freescale donated <a href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX53QSB">i.MX53 Quick Start Board</a> and on Ubuntu 12.04 on <a href="http://www.pandaboard.org/">Pandaboard</a>. The results are pretty interesting as is shown in the table below. The table lists number of unexpected failures of basic LLVM testsuite when LLVM is compiled with specific optimization option and with specific GNU C compiler (on appropriate Ubuntu). Please note that Ubuntu 11.10 is last soft-float ABI Ubuntu and it provides GNU C 4.6.1:<br />
<pre class="brush: plain;">
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabi/4.6.1/lto-wrapper
Target: arm-linux-gnueabi
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.1-9ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-float=softfp --with-fpu=vfpv3-d16 --with-mode=thumb --disable-werror --enable-checking=release --build=arm-linux-gnueabi --host=arm-linux-gnueabi --target=arm-linux-gnueabi
Thread model: posix
gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) 
</pre><br />
On the other hand, Ubuntu 12.04 is the first which provides hard-float ABI and it comes with GNU C 4.6.3:<br />
<pre class="brush: plain;">
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.6/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 --with-mode=thumb --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) 
</pre><br />
And now, finally those interesting results. The numbers are clickable and link to the testsuite log file which you can see for your reference.</p>
<table border="1">
<tr>
<th></th>
<th>-O0</th>
<th>-O1</th>
<th>-O2</th>
<th>default</th>
</tr>
<tr>
<th>GCC 4.6.1 (Ubuntu 11.10)</th>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.1/ubuntu11.10/test-O0.log">6</a></td>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.1/ubuntu11.10/test-O1.log">6</a></td>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.1/ubuntu11.10/test-O2.log">54</a></td>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.1/ubuntu11.10/test-default.log">54</a></td>
</tr>
<tr>
<th>GCC 4.6.3 (Ubuntu 12.04)</th>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.1/ubuntu12.04/test-O0.log">6</a></td>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.1/ubuntu12.04/test-O1.log">6</a></td>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.1/ubuntu12.04/test-O2.log">6</a></td>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.1/ubuntu12.04/test-default.log">6</a></td>
</tr>
</table>
<p>So it looks like GCC 4.6.3 did a very nice job here. Honestly speaking I&#8217;m not sure if this is GCC or ABI switch from soft-float to hard-float and I&#8217;m not able to verify it since Ubuntu 12.04 is only hard-float ABI but my bet is on GCC here.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ghcarm.wordpress.com/337/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ghcarm.wordpress.com/337/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=337&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://ghcarm.wordpress.com/2012/06/08/testing-llvm-3-1-on-ubuntu-11-1012-04-arm/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="https://1.gravatar.com/avatar/1fa80e8872ccf9340f0ab90f0e683bd5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kgardas</media:title>
		</media:content>
	</item>
		<item>
		<title>GHC builder board up&#8217;n&#039;running</title>
		<link>https://ghcarm.wordpress.com/2012/03/18/ghc-builder-board-upnrunning/</link>
		<comments>https://ghcarm.wordpress.com/2012/03/18/ghc-builder-board-upnrunning/#comments</comments>
		<pubDate>Sun, 18 Mar 2012 20:16:45 +0000</pubDate>
		<dc:creator>kgardas</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Board]]></category>
		<category><![CDATA[builder]]></category>
		<category><![CDATA[Freescale]]></category>
		<category><![CDATA[GHC]]></category>
		<category><![CDATA[i.MX53]]></category>
		<category><![CDATA[Quick]]></category>
		<category><![CDATA[Start]]></category>

		<guid isPermaLink="false">http://ghcarm.wordpress.com/?p=323</guid>
		<description><![CDATA[Just to write some status, I&#8217;ve dedicated received Freescale i.MX53 Quick Start Board to serve as a GHC builder machine. It&#8217;s already running for some time. Installed OS is Ubuntu 11.10 and I&#8217;ve installed on it Ubuntu&#8217;s 12.04 LLVM 3.0 &#8230; <a href="https://ghcarm.wordpress.com/2012/03/18/ghc-builder-board-upnrunning/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=323&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Just to write some status, I&#8217;ve dedicated received <a href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX53QSB">Freescale i.MX53 Quick Start Board</a> to serve as a GHC builder machine. It&#8217;s already running for some time. Installed OS is Ubuntu 11.10 and I&#8217;ve installed on it Ubuntu&#8217;s 12.04 LLVM 3.0 packages. The builder already caught one issue during the end of February which I&#8217;m still trying to solve in my currently very limited free time&#8230; If you&#8217;d like to see results of the builder, then have a look into <a href="http://www.haskell.org/pipermail/cvs-ghc/">cvs-ghc mailing list</a> and search for kgardas-linux-arm-head string in the emails subjects.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ghcarm.wordpress.com/323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ghcarm.wordpress.com/323/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=323&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://ghcarm.wordpress.com/2012/03/18/ghc-builder-board-upnrunning/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="https://1.gravatar.com/avatar/1fa80e8872ccf9340f0ab90f0e683bd5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kgardas</media:title>
		</media:content>
	</item>
		<item>
		<title>Testing LLVM 3.0 on Ubuntu 11.10 ARM</title>
		<link>https://ghcarm.wordpress.com/2011/12/30/testing-llvm-3-0-on-ubuntu-11-10-arm/</link>
		<comments>https://ghcarm.wordpress.com/2011/12/30/testing-llvm-3-0-on-ubuntu-11-10-arm/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 23:45:47 +0000</pubDate>
		<dc:creator>kgardas</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[11.10]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[Clang]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[llvm]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://ghcarm.wordpress.com/?p=307</guid>
		<description><![CDATA[LLVM 3.0 was released some time ago and I&#8217;ve thought it&#8217;ll be good to give it a try on stock Ubuntu 11.10 ARM. That means I&#8217;ve tested LLVM 3.0 with Ubuntu provided GNU C++ 4.6.1 and Clang 2.9. GNU C++ &#8230; <a href="https://ghcarm.wordpress.com/2011/12/30/testing-llvm-3-0-on-ubuntu-11-10-arm/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=307&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>LLVM 3.0 was released some time ago and I&#8217;ve thought it&#8217;ll be good to give it a try on stock Ubuntu 11.10 ARM. That means I&#8217;ve tested LLVM 3.0 with Ubuntu provided GNU C++ 4.6.1 and Clang 2.9. GNU C++ configuration looks:<br />
<pre class="brush: plain;">
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabi/4.6.1/lto-wrapper
Target: arm-linux-gnueabi
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.1-9ubuntu3' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-float=softfp --with-fpu=vfpv3-d16 --with-mode=thumb --disable-werror --enable-checking=release --build=arm-linux-gnueabi --host=arm-linux-gnueabi --target=arm-linux-gnueabi
Thread model: posix
gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) 
</pre></p>
<p>I&#8217;ve compiled LLVM 3.0 by those two compilers with default configuration and then with optimization flags set to -O0, -O1, -O2 and -O3. The table below lists sum of unexpected failures and unexpected passes with appropriate links to the tests output files. What&#8217;s surprising to me is that Clang on ARM even in version 2.9 performs so well. I know, Clang depends on LLVM and LLVM by default checks for Clang as a preferred compiler and both projects are mainly developed by Apple&#8217;s engineers, but still this is on <strong>native</strong> ARM/Linux system, so nothing like cross-compilation from MacOSX/x64 to iOS/ARM!</p>
<table border="1">
<tr>
<th></th>
<th>-O0</th>
<th>-O1</th>
<th>-O2</th>
<th>-O3</th>
<th>default</th>
</tr>
<tr>
<th>GCC 4.6.1</th>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.0/test-O0-gcc.txt">6</a></td>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.0/test-O1-gcc.txt">6</a></td>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.0/test-O2-gcc.txt">51</a></td>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.0/test-O3-gcc.txt">51</a></td>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.0/test-default-gcc.txt">51</a></td>
</tr>
<tr>
<th>Clang 2.9</th>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.0/test-O0-clang.txt">1147</a></td>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.0/test-O1-clang.txt">8</a></td>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.0/test-O2-clang.txt">12</a></td>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.0/test-O3-clang.txt">12</a></td>
<td><a href="http://www.gardas.roznovan.cz/llvm/testing-3.0/test-default-clang.txt">12</a></td>
</tr>
</table>
<p>So as you can see GCC still wins on the lowest number of failures while using -O0/-O1, but Clang performs very well on -O2/-O3/default optimization levels. Please note that the excess number of failures on -O0 with Clang is probably caused by the fact that LLVM code requires some optimization to be performed on it to behaves correctly and it looks like Clang does not perform such optimization while GCC does when compiling with -O0.<br />
Also what&#8217;s kind of surprise to me is to see Clang compilation performance. I&#8217;ve not marked hard numbers since this was not the task for this testing, but I&#8217;ve been surprised to see what GCC took around 700 minutes, Clang did in about 400 minutes. I&#8217;m talking about default compilation on <a href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX53QSB">i.MX53 Quick Start Board</a> here.</p>
<p>Now the questions are: how Clang compiled LLVM affects GHC tests and GHC compilation speed? (i.e. I may use -O3 compiled LLVM for this). Also how would the numbers look like while testing latest greatest Linaro GCC and Clang 3.0? Perhaps material for another post or two&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ghcarm.wordpress.com/307/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ghcarm.wordpress.com/307/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=307&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://ghcarm.wordpress.com/2011/12/30/testing-llvm-3-0-on-ubuntu-11-10-arm/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="https://1.gravatar.com/avatar/1fa80e8872ccf9340f0ab90f0e683bd5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kgardas</media:title>
		</media:content>
	</item>
		<item>
		<title>GHC 7.4.1 Release Candidate 1 is out!</title>
		<link>https://ghcarm.wordpress.com/2011/12/24/ghc-7-4-1-release-candidate-1-is-out/</link>
		<comments>https://ghcarm.wordpress.com/2011/12/24/ghc-7-4-1-release-candidate-1-is-out/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 11:58:27 +0000</pubDate>
		<dc:creator>kgardas</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ghcarm.wordpress.com/?p=297</guid>
		<description><![CDATA[If you have not noticed yet, then please note that GHC 7.4.1 Release Candidate 1 is out. Please also note that 7.4.1 will be the first public release which will support registerised compilation on ARM/Linux platform. If you are a &#8230; <a href="https://ghcarm.wordpress.com/2011/12/24/ghc-7-4-1-release-candidate-1-is-out/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=297&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>If you have not noticed yet, then please note that GHC 7.4.1 Release Candidate 1 is out. Please also note that 7.4.1 will be the first public release which will support registerised compilation on ARM/Linux platform. If you are a haskell fan and do have some ARM/Linux platform available, please do not forget to give it a try.<br />
What&#8217;s basically needed is to have some recent Ubuntu installed together with its provided GNU C++ and GHC compilers. If you do have this, then just grab the <a href="http://llvm.org/releases/3.0/llvm-3.0.tar.gz">LLVM 3.0 source code</a> and unpack it somewhere and run following inside its directory:<br />
<pre class="brush: plain;">
$ ./configure
$ make ENABLE_OPTIMIZED=1 OPTIMIZE_OPTION=-O1
</pre><br />
when it finishes successfully (it really should), then inside the Release/bin subdirectory you do have LLVM binaries. Extend your PATH variable:<br />
<pre class="brush: plain;">
$ export PATH=$PATH:`pwd`/Release/bin
</pre><br />
and then move somewhere and download <a href="http://www.haskell.org/ghc/dist/7.4.1-rc1/ghc-7.4.0.20111219-src.tar.bz2">ghc-7.4.0.20111219-src.tar.bz2</a> which is 7.4.1 RC1 distribution tarball. Unpack it somewhere go into its directory (ghc-7.4.0.20111219) and run:<br />
<pre class="brush: plain;">
$ ./configure
$ make
</pre><br />
Here the compilation should fail with error like:<br />
<pre class="brush: plain;">
&quot;inplace/bin/ghc-stage2&quot;   -H32m -O    -package-name dph-prim-par-0.5.2.0 -hide-all-packages -i -ilibraries/dph/dph-prim-par/. -ilibraries/dph/dph-prim-par/dist-install/build -ilibraries/dph/dph-prim-par/dist-install/build/autogen -Ilibraries/dph/dph-prim-par/dist-install/build -Ilibraries/dph/dph-prim-par/dist-install/build/autogen -Ilibraries/dph/dph-prim-par/.    -optP-include -optPlibraries/dph/dph-prim-par/dist-install/build/autogen/cabal_macros.h -package base-4.5.0.0 -package dph-base-0.5.2.0 -package dph-prim-interface-0.5.2.0 -package dph-prim-seq-0.5.2.0 -package old-time-1.1.0.0 -package random-1.0.1.1 -package vector-0.9.1  -Odph -funbox-strict-fields -fcpr-off -Werror -XHaskell98 -XTypeFamilies -XGADTs -XRankNTypes -XBangPatterns -XMagicHash -XUnboxedTuples -XTypeOperators -XFlexibleInstances -XFlexibleContexts -O2  -no-user-package-conf -rtsopts     -odir libraries/dph/dph-prim-par/dist-install/build -hidir libraries/dph/dph-prim-par/dist-install/build -stubdir libraries/dph/dph-prim-par/dist-install/build -hisuf hi -osuf  o -hcsuf hc -c libraries/dph/dph-prim-par/./Data/Array/Parallel/Unlifted/Distributed/Types/Unit.hs -o libraries/dph/dph-prim-par/dist-install/build/Data/Array/Parallel/Unlifted/Distributed/Types/Unit.o
ghc-stage2: panic! (the 'impossible' happened)
  (GHC version 7.4.0.20111219 for arm-unknown-linux):
        Cant do annotations without GHCi
    {libraries/vector/Data/Vector/Fusion/Stream/Monadic.hs:104:19-33}
    base:GHC.Exts.ForceSpecConstr{d rbL}

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

make[1]: *** [libraries/vector/dist-install/build/Data/Vector/Fusion/Stream/Monadic.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [all] Error 2
</pre><br />
This is expected result caused by the fact that GHC does not support GHCi on ARM yet. We are working on it be assured. Anyway, ghc-stage2 compiler should work for you quite well:<br />
<pre class="brush: plain;">
$ ./inplace/bin/ghc-stage2 --info
 [(&quot;Project name&quot;,&quot;The Glorious Glasgow Haskell Compilation System&quot;)
 ,(&quot;GCC extra via C opts&quot;,&quot; -fwrapv&quot;)
 ,(&quot;C compiler command&quot;,&quot;/export/home/karel/arm-sfw/gcc-linaro-2011.12-0/bin/gcc&quot;)
 ,(&quot;C compiler flags&quot;,&quot; -fno-stack-protector  -Wl,--hash-size=31 -Wl,--reduce-memory-overheads&quot;)
 ,(&quot;ar command&quot;,&quot;/usr/bin/ar&quot;)
 ,(&quot;ar flags&quot;,&quot;q&quot;)
 ,(&quot;ar supports at file&quot;,&quot;YES&quot;)
 ,(&quot;touch command&quot;,&quot;touch&quot;)
 ,(&quot;dllwrap command&quot;,&quot;/bin/false&quot;)
 ,(&quot;windres command&quot;,&quot;/bin/false&quot;)
 ,(&quot;perl command&quot;,&quot;/usr/bin/perl&quot;)
 ,(&quot;target os&quot;,&quot;OSLinux&quot;)
 ,(&quot;target arch&quot;,&quot;ArchARM {armISA = ARMv7, armISAExt = [VFPv3,NEON]}&quot;)
 ,(&quot;target has GNU nonexec stack&quot;,&quot;False&quot;)
 ,(&quot;target has subsections via symbols&quot;,&quot;False&quot;)
 ,(&quot;Project version&quot;,&quot;7.4.0.20111219&quot;)
 ,(&quot;Booter version&quot;,&quot;6.12.3&quot;)
 ,(&quot;Stage&quot;,&quot;2&quot;)
 ,(&quot;Build platform&quot;,&quot;arm-unknown-linux&quot;)
 ,(&quot;Host platform&quot;,&quot;arm-unknown-linux&quot;)
 ,(&quot;Target platform&quot;,&quot;arm-unknown-linux&quot;)
 ,(&quot;Have interpreter&quot;,&quot;NO&quot;)
 ,(&quot;Object splitting supported&quot;,&quot;NO&quot;)
 ,(&quot;Have native code generator&quot;,&quot;NO&quot;)
 ,(&quot;Support SMP&quot;,&quot;YES&quot;)
 ,(&quot;Unregisterised&quot;,&quot;NO&quot;)
 ,(&quot;Tables next to code&quot;,&quot;YES&quot;)
 ,(&quot;RTS ways&quot;,&quot;l debug  thr thr_debug thr_l  &quot;)
 ,(&quot;Leading underscore&quot;,&quot;NO&quot;)
 ,(&quot;Debug on&quot;,&quot;False&quot;)
 ,(&quot;LibDir&quot;,&quot;/export/home/karel/src/ghc-7.4.0.20111219/inplace/lib&quot;)
 ,(&quot;Global Package DB&quot;,&quot;/export/home/karel/src/ghc-7.4.0.20111219/inplace/lib/package.conf.d&quot;)
 ,(&quot;Gcc Linker flags&quot;,&quot;[\&quot;-Wl,--hash-size=31\&quot;,\&quot;-Wl,--reduce-memory-overheads\&quot;]&quot;)
 ,(&quot;Ld Linker flags&quot;,&quot;[\&quot;--hash-size=31\&quot;,\&quot;--reduce-memory-overheads\&quot;]&quot;)
 ]
</pre><br />
If you would like to run full GHC testsuite with this, then you will need to grab it from ghc-7.4 branch. For this please have a look at GHC page expaining details how to get source code <a href="http://hackage.haskell.org/trac/ghc/wiki/Building/GettingTheSources?redirectedfrom=GhcDarcs">here</a>. Once you do have ghc-7.4 branch including testsuite checked out, just copy testsuite subdirectory to ghc-7.4.0.20111219 directory and then run:<br />
<pre class="brush: plain;">
$ cd testsuite
$ make TIMEOUT=1500 WAY=&quot;normal threaded1 threaded2&quot;
</pre><br />
This will take some time, but at the end you should get overall summary of testing. In my case it looked:<br />
<pre class="brush: plain;">
OVERALL SUMMARY for test run started at Fri Dec 23 20:15:32 CET 2011
    3158 total tests, which gave rise to
    6816 test cases, of which
       0 caused framework failures
    2731 were skipped

    3880 expected passes
     135 expected failures
       1 unexpected passes
      69 unexpected failures

Unexpected passes:
   quasiquotation  T5204 (normal)

Unexpected failures:
   ../../libraries/random/tests  rangeTest [bad exit code] (normal,threaded1,threaded2)
   annotations/should_run        annrun01 [exit code non-0] (normal,threaded1,threaded2)
   cabal                         ghcpkg05 [bad stderr] (normal)
   cabal/cabal04                 cabal04 [bad exit code] (normal)
   codeGen/should_compile        jmp_tbl [exit code non-0] (normal)
   codeGen/should_compile        massive_array [exit code non-0] (normal)
   dph/classes                   dph-classes-fast [exit code non-0] (normal,threaded1,threaded2)
   dph/dotp                      dph-dotp-fast [exit code non-0] (normal,threaded1,threaded2)
   dph/dotp                      dph-dotp-opt [exit code non-0] (normal,threaded1,threaded2)
   dph/primespj                  dph-primespj-fast [exit code non-0] (normal,threaded1,threaded2)
   dph/primespj                  dph-primespj-opt [exit code non-0] (normal,threaded1,threaded2)
   dph/quickhull                 dph-quickhull-fast [exit code non-0] (normal,threaded1,threaded2)
   dph/quickhull                 dph-quickhull-opt [exit code non-0] (normal,threaded1,threaded2)
   dph/sumnats                   dph-sumnats [exit code non-0] (normal,threaded1,threaded2)
   dph/words                     dph-words-fast [exit code non-0] (normal)
   dph/words                     dph-words-opt [exit code non-0] (normal)
   driver                        5313 [exit code non-0] (normal,threaded1,threaded2)
   driver/recomp009              recomp009 [bad exit code] (normal)
   ghc-api/T4891                 T4891 [bad exit code] (normal)
   ghc-api/apirecomp001          apirecomp001 [bad exit code] (normal)
   ghc-api/dynCompileExpr        dynCompileExpr [exit code non-0] (normal,threaded1,threaded2)
   ghci/linking                  ghcilink001 [bad exit code] (normal)
   ghci/linking                  ghcilink002 [bad exit code] (normal)
   ghci/linking                  ghcilink003 [bad exit code] (normal)
   ghci/linking                  ghcilink004 [bad exit code] (normal)
   ghci/linking                  ghcilink005 [bad exit code] (normal)
   ghci/linking                  ghcilink006 [bad exit code] (normal)
   ghci/scripts                  ghci024 [bad exit code] (normal)
   perf/compiler                 T1969 [stat not good enough] (normal)
   perf/compiler                 T3064 [stat not good enough] (normal)
   perf/compiler                 T4801 [stat not good enough] (normal)
   perf/compiler                 T5030 [stat not good enough] (normal)
   perf/compiler                 T5631 [stat not good enough] (normal)
   quasiquotation/qq007          qq007 [exit code non-0] (normal)
   quasiquotation/qq008          qq008 [exit code non-0] (normal)
   rts                           T2615 [exit code non-0] (normal,threaded1,threaded2)
   rts                           derefnull [bad exit code] (threaded2)
   rts                           testblockalloc [bad exit code] (normal,threaded1)
   safeHaskell/flags             Flags02 [exit code non-0] (normal)
   safeHaskell/safeLanguage      SafeLang01 [stderr mismatch] (normal)
   safeHaskell/safeLanguage      SafeLang12 [stderr mismatch] (normal)
   safeHaskell/safeLanguage      SafeLang16 [stderr mismatch] (normal)
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ghcarm.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ghcarm.wordpress.com/297/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=297&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://ghcarm.wordpress.com/2011/12/24/ghc-7-4-1-release-candidate-1-is-out/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="https://1.gravatar.com/avatar/1fa80e8872ccf9340f0ab90f0e683bd5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kgardas</media:title>
		</media:content>
	</item>
		<item>
		<title>Welcome back Freescale i.MX53</title>
		<link>https://ghcarm.wordpress.com/2011/12/21/welcome-back-freescale-i-mx53/</link>
		<comments>https://ghcarm.wordpress.com/2011/12/21/welcome-back-freescale-i-mx53/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 21:16:50 +0000</pubDate>
		<dc:creator>kgardas</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Board]]></category>
		<category><![CDATA[Freescale]]></category>
		<category><![CDATA[i.MX53]]></category>
		<category><![CDATA[Quick]]></category>
		<category><![CDATA[Start]]></category>

		<guid isPermaLink="false">http://ghcarm.wordpress.com/?p=281</guid>
		<description><![CDATA[Few months ago I&#8217;ve been contacted by Marsha Chang from Freescale i.MX53 marketing division if I&#8217;d like to have another i.MX53 Quick Start Board as a replacement for the board I needed to return back to Freescale during this summer. &#8230; <a href="https://ghcarm.wordpress.com/2011/12/21/welcome-back-freescale-i-mx53/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=281&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Few months ago I&#8217;ve been contacted by <a href="http://imxcommunity.org/profile/MarshaChang">Marsha Chang</a> from Freescale i.MX53 marketing division if I&#8217;d like to have another <a href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX53QSB">i.MX53 Quick Start Board</a> as a replacement for the board I needed to return back to Freescale during this summer. <a href="http://ghcarm.files.wordpress.com/2011/06/imx53qsb.png"><img src="http://ghcarm.files.wordpress.com/2011/06/imx53qsb.png?w=150&#038;h=150" alt="" title="Freescale i.MX53 Quick Start Board" width="150" height="150" class="alignleft size-thumbnail wp-image-6" /></a><br />
Having more ARM boards never hurts, so I replied &#8220;yes&#8221; quickly and today another i.MX53 is already siting on my SMC switch with preinstalled Ubuntu 11.10. The only quirk so far I&#8217;ve had with Ubuntu, which looks like switched to NFSv4 and this all goes kind of wrong with my Solaris 11 ZFS/NFS id mapping. Since both machines are well secured and basically just available to me alone, I&#8217;ve given up on increased NFSv4 security and decided to use quickest and least hurting path and enforce usage of NFSv3 on Ubuntu side about which I know is running well. At least it does so in Ubuntu 11.04 running on my Pandaboard. The trick is to put <strong>vers=3</strong> into appropriate option column in /etc/fstab file:<br />
<pre class="brush: plain;">
solaris:/export/home/karel /export/home/karel nfs vers=3 0 0
</pre></p>
<p>Otherwise everything is working as expected and the board is already crunching through LLVM 3.0 compilation and testing, but that&#8217;s the topic for next post anyway.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ghcarm.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ghcarm.wordpress.com/281/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=281&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://ghcarm.wordpress.com/2011/12/21/welcome-back-freescale-i-mx53/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="https://1.gravatar.com/avatar/1fa80e8872ccf9340f0ab90f0e683bd5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kgardas</media:title>
		</media:content>

		<media:content url="http://ghcarm.files.wordpress.com/2011/06/imx53qsb.png?w=150" medium="image">
			<media:title type="html">Freescale i.MX53 Quick Start Board</media:title>
		</media:content>
	</item>
		<item>
		<title>HP Moonshot: dream machine or déjà vu?</title>
		<link>https://ghcarm.wordpress.com/2011/11/07/hp-moonshot-dream-machine-or-deja-vu/</link>
		<comments>https://ghcarm.wordpress.com/2011/11/07/hp-moonshot-dream-machine-or-deja-vu/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 21:25:26 +0000</pubDate>
		<dc:creator>kgardas</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Calxeda]]></category>
		<category><![CDATA[CM-1]]></category>
		<category><![CDATA[DPH]]></category>
		<category><![CDATA[Hillis]]></category>
		<category><![CDATA[HP]]></category>
		<category><![CDATA[Moonthot]]></category>

		<guid isPermaLink="false">http://ghcarm.wordpress.com/?p=266</guid>
		<description><![CDATA[You have probably already seen news about ARM in servers, Calxeda forming partnership with HP and delivering first prototypes of ARM-based server board/case/infrastructure in HP Moonshot program/machine. To be honest this machine looks really nice and I&#8217;m happy to see &#8230; <a href="https://ghcarm.wordpress.com/2011/11/07/hp-moonshot-dream-machine-or-deja-vu/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=266&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>You have probably already seen news about ARM in servers, Calxeda forming partnership with HP and delivering first prototypes of ARM-based server board/case/infrastructure in <a href="http://www.hp.com/go/moonshot">HP Moonshot program/machine</a>. To be honest this machine looks really nice and I&#8217;m happy to see HP doing some work into this domain.</p>
<p>From the Haskell point of view, it would be extremely exciting if such beast might be programmed using <a href="http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell">Data Parallel Haskell</a>.</p>
<p>But wait, isn&#8217;t this just déjà vu? Where have I seen something like that already? &#8230;. indeed! <a href="http://en.wikipedia.org/wiki/*Lisp">*Lisp</a>! <a href="http://en.wikipedia.org/wiki/Connection_Machine">CM-x</a>! Mr. <a href="http://en.wikipedia.org/wiki/W._Daniel_Hillis">Hillis</a> and his team still rocks since *List was already there while DPH backend for Moonshot is still to be written&#8230;more than 25 years later after the *Lisp <img src='https://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a href="http://ghcarm.files.wordpress.com/2011/11/cm-1.jpg"><img src="http://ghcarm.files.wordpress.com/2011/11/cm-1.jpg?w=584&#038;h=437" alt="" title="cm-1" width="584" height="437" class="size-full wp-image-268" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ghcarm.wordpress.com/266/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ghcarm.wordpress.com/266/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=266&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://ghcarm.wordpress.com/2011/11/07/hp-moonshot-dream-machine-or-deja-vu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="https://1.gravatar.com/avatar/1fa80e8872ccf9340f0ab90f0e683bd5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kgardas</media:title>
		</media:content>

		<media:content url="http://ghcarm.files.wordpress.com/2011/11/cm-1.jpg" medium="image">
			<media:title type="html">cm-1</media:title>
		</media:content>
	</item>
		<item>
		<title>ARMv8: few details.</title>
		<link>https://ghcarm.wordpress.com/2011/11/07/armv8-few-details/</link>
		<comments>https://ghcarm.wordpress.com/2011/11/07/armv8-few-details/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 15:21:48 +0000</pubDate>
		<dc:creator>kgardas</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[A32]]></category>
		<category><![CDATA[A64]]></category>
		<category><![CDATA[ARMv8]]></category>
		<category><![CDATA[GHC]]></category>
		<category><![CDATA[llvm]]></category>
		<category><![CDATA[T32]]></category>

		<guid isPermaLink="false">http://ghcarm.wordpress.com/?p=253</guid>
		<description><![CDATA[It looks like few details about ARMv8 are starting to appear on the network. The root of this is presentation and videos about ARMv8 made by Richard Grisenthwaite and which are now linked from the ARM ISAs page. Please just &#8230; <a href="https://ghcarm.wordpress.com/2011/11/07/armv8-few-details/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=253&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>It looks like few details about ARMv8 are starting to appear on the network. The root of this is presentation and videos about ARMv8 made by Richard Grisenthwaite and which are now linked from the <a href="http://www.arm.com/products/processors/technologies/instruction-set-architectures.php">ARM ISAs</a> page. Please just scroll down and select ARMv8 Resources tab.<br />
Anyway, I&#8217;d like to list a few details also here especially focused on details which affect user-land application writer. Small table should do the job I hope. Please note that with ARMv8, ARM started to name various ISAs as A32, which is classical ARM, T32, which is Thumb2 and A64 which is new ISA for ARM 64bit computing. So far ARMv7&#8242;s and ARMv8&#8242;s A32 and T32 ISAs looks similar.</p>
<table border="1">
<tr>
<th></th>
<th>ARMv7</th>
<th>ARMv8</th>
</tr>
<tr>
<td>32 bit ISAs</td>
<td>A32, T32</td>
<td>A32, T32</td>
</tr>
<tr>
<td>64 bit ISAs</td>
<td> &#8212; </td>
<td>A64</td>
</tr>
<tr>
<td>Number of GPs</td>
<td>13*</td>
<td>13* (A32, T32), 31** (A64)</td>
</tr>
<tr>
<td>ISNs encoding length (bits)</td>
<td>16-32 (T32), 32 (A32)</td>
<td>16-32 (T32), 32 (A32), 32 (A64)</td>
</tr>
<tr>
<td>NEON 64 bit regs</td>
<td>32</td>
<td>32</td>
</tr>
<tr>
<td>NEON 128 bit regs</td>
<td>16</td>
<td>32</td>
</tr>
<tr>
<td>Crypto ISNs (using NEON regs)</td>
<td> &#8212; </td>
<td>AES, SHA-1, SHA-256</td>
</table>
<p>*: I count only R0-R12<br />
**: PC and SP are no longer considered GPs</p>
<p>So as you can see, we get nearly twice the general purpose registers, twice the number of 128 bit registers in NEON and we also get some additional instructions to support some common cryptography operations. Besides this A64 also provides new load-acquire/store-release instructions to better support ARM weak-memory model in higher level programming languages.</p>
<p>Well, so from the point of view of GHC this might indeed be fun. The only pity is that we still depend on LLVM to come with A64 support first and then we&#8217;ll be able to use it in GHC.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ghcarm.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ghcarm.wordpress.com/253/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=253&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://ghcarm.wordpress.com/2011/11/07/armv8-few-details/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="https://1.gravatar.com/avatar/1fa80e8872ccf9340f0ab90f0e683bd5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kgardas</media:title>
		</media:content>
	</item>
		<item>
		<title>New hardware: ThinkPad Tablet</title>
		<link>https://ghcarm.wordpress.com/2011/11/03/new-hardware-thinkpad-tablet/</link>
		<comments>https://ghcarm.wordpress.com/2011/11/03/new-hardware-thinkpad-tablet/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 19:19:51 +0000</pubDate>
		<dc:creator>kgardas</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[GHCi]]></category>
		<category><![CDATA[MyScript]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[Tablet]]></category>
		<category><![CDATA[Tegra2]]></category>
		<category><![CDATA[ThinkPad]]></category>

		<guid isPermaLink="false">http://ghcarm.wordpress.com/?p=240</guid>
		<description><![CDATA[My new target hardware for the GHC port arrived a week ago. It is a brand new ThinkPad Tablet which contains NVidia Tegra2 CPU, 1GB RAM and 64GB FLASH. It is also equipped with 3G modem which I&#8217;m not using &#8230; <a href="https://ghcarm.wordpress.com/2011/11/03/new-hardware-thinkpad-tablet/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=240&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>My new target hardware for the GHC port arrived a week ago. It is a brand new ThinkPad Tablet which contains NVidia Tegra2 CPU, 1GB RAM and 64GB FLASH. It is also equipped with 3G modem which I&#8217;m not using as the price of 3G internet in The Czech Republic is prohibitive (one of the highest in EU!) and I really don&#8217;t like to support those greedy carriers.<br />
<div id="attachment_245" class="wp-caption alignleft" style="width: 594px"><a href="http://ghcarm.files.wordpress.com/2011/11/tpt.png"><img src="http://ghcarm.files.wordpress.com/2011/11/tpt.png?w=584&#038;h=438" alt="" title="tpt" width="584" height="438" class="size-full wp-image-245" /></a><p class="wp-caption-text">ThinkPad Tablet accompanied by Tablet&#039;s pen and alto recorder showing web page of the Real World Haskell book.</p></div><br />
Anyway, this is my first tablet ever and also first tablet with real pen input! I&#8217;ve been always dreaming about really personal computer which would work like an &#8220;inteligent&#8221; diary. This one does have ability to fulfill this dream &#8212; at least on the paper. Well, well, everything does have its own set of bugs and ThinkPad Tablet is not different, but I still like it a lot. Especially those application with builtin pen capability, e.g. MyScript Notes. If you don&#8217;t know the application, I highly recommend you to see <a href="http://www.youtube.com/watch?v=dHHO--XZlqM">this video</a> to get some idea what&#8217;s this about.</p>
<p>Now, what about to have a GHCi editor with pen input? Would be nice, wouldn&#8217;t it? <img src='https://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ghcarm.wordpress.com/240/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ghcarm.wordpress.com/240/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=240&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://ghcarm.wordpress.com/2011/11/03/new-hardware-thinkpad-tablet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="https://1.gravatar.com/avatar/1fa80e8872ccf9340f0ab90f0e683bd5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kgardas</media:title>
		</media:content>

		<media:content url="http://ghcarm.files.wordpress.com/2011/11/tpt.png" medium="image">
			<media:title type="html">tpt</media:title>
		</media:content>
	</item>
		<item>
		<title>LLVM patch is merged for inclusion in LLVM 3.0 release</title>
		<link>https://ghcarm.wordpress.com/2011/11/03/llvm-patch-is-merged-for-inclusion-in-llvm-3-0-release/</link>
		<comments>https://ghcarm.wordpress.com/2011/11/03/llvm-patch-is-merged-for-inclusion-in-llvm-3-0-release/#comments</comments>
		<pubDate>Thu, 03 Nov 2011 17:59:46 +0000</pubDate>
		<dc:creator>kgardas</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[calling]]></category>
		<category><![CDATA[convention]]></category>
		<category><![CDATA[GHC]]></category>
		<category><![CDATA[llvm]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://ghcarm.wordpress.com/?p=234</guid>
		<description><![CDATA[Good news for those shy to patch LLVM source code and build from scratch. The patch which adds GHC calling convention for ARM platform is merged for inclusion in LLVM 3.0 release. This is mainly due to David Terei persistence &#8230; <a href="https://ghcarm.wordpress.com/2011/11/03/llvm-patch-is-merged-for-inclusion-in-llvm-3-0-release/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=234&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Good news for those shy to patch LLVM source code and build from scratch. <img src='https://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  The patch which adds GHC calling convention for ARM platform is merged for inclusion in LLVM 3.0 release. This is mainly due to David Terei persistence and constant push on Apple engineering to get it in since I&#8217;ve <a href="http://lists.cs.uiuc.edu/pipermail/llvmdev/2011-October/044173.html">submitted</a> the patch for inclusion just last day and was not able to answer all the questions arising from it. David not only replied with all needed information, but also kept emailing LLVM 3.0 release engineer and asking for inclusion. Thanks David!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ghcarm.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ghcarm.wordpress.com/234/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=234&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://ghcarm.wordpress.com/2011/11/03/llvm-patch-is-merged-for-inclusion-in-llvm-3-0-release/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="https://1.gravatar.com/avatar/1fa80e8872ccf9340f0ab90f0e683bd5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kgardas</media:title>
		</media:content>
	</item>
		<item>
		<title>ARMv8 is here!</title>
		<link>https://ghcarm.wordpress.com/2011/10/27/armv8-is-here/</link>
		<comments>https://ghcarm.wordpress.com/2011/10/27/armv8-is-here/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 18:23:39 +0000</pubDate>
		<dc:creator>kgardas</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ghcarm.wordpress.com/?p=230</guid>
		<description><![CDATA[ARM has just announced ARMv8 architecture which not only support 32bit, but also adds support for 64bit execution. In ARM speak, this is AArch32 and AArch64. This is indeed exciting news for me as I&#8217;ve been waiting for this for &#8230; <a href="https://ghcarm.wordpress.com/2011/10/27/armv8-is-here/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=230&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.arm.com/about/newsroom/arm-discloses-technical-details-of-the-next-version-of-the-arm-architecture.php">ARM has just announced ARMv8 architecture</a> which not only support 32bit, but also adds support for 64bit execution. In ARM speak, this is AArch32 and AArch64. This is indeed exciting news for me as I&#8217;ve been waiting for this for quite some time now. Now, ARM, please make documentation for A64 ISA freely available soon! <img src='https://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ghcarm.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ghcarm.wordpress.com/230/" /></a> <img alt="" border="0" src="https://stats.wordpress.com/b.gif?host=ghcarm.wordpress.com&#038;blog=24034420&#038;post=230&#038;subd=ghcarm&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>https://ghcarm.wordpress.com/2011/10/27/armv8-is-here/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="https://1.gravatar.com/avatar/1fa80e8872ccf9340f0ab90f0e683bd5?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kgardas</media:title>
		</media:content>
	</item>
	</channel>
</rss>
