This version is failing because it allocates about 150,000 bytes of local memory. The maximum per work group is 32768 bytes. (Tahiti will use its full 64K when two work groups run on the same CU). When the local memory is set below the 32K limit, it compiles on Tahiti as well, congratulations.
Certainly, the compiler should report the error, it's pretty easy for it to check the local memory allocation, I would think.
Aha, well remarked again. Didn't think of memory issues as I thought that was only checked on runtime. Thanks a bunch!